protected static INeuron[] GetNeurons(int neuronsCount, AbstractNeuronsFactory neuronsFactory)
 {
     var neurons = new INeuron[neuronsCount];
     for (int i = 0; i < neuronsCount; i++)
     {
         neurons[i] = neuronsFactory.Get();
     }
     return neurons;
 }
 public static IInputLayer Get(int neuronsCount, AbstractNeuronsFactory neuronsFactory)
 {
     return new InputLayer(GetNeurons(neuronsCount, neuronsFactory));
 }
 protected AbstractLayerFactory(AbstractNeuronsFactory neuronsFactory)
 {
     _NeuronsFactory = neuronsFactory;
 }
 public static IInnerLayer Get(int neuronsCount, AbstractNeuronsFactory neuronsFactory)
 {
     return new InnerLayer(GetNeurons(neuronsCount, neuronsFactory).Select(x => x as IConnectedNeuron).ToArray());
 }