Дмитрий Нестерук - Интересные подходы в реализации паттернов проектирования в C#
Паттерны возможно уже не вызывают тот ажиотаж что раньше, но это потому, что все их знают. Тем не менее, есть интересные подходы к реализации паттернов на C#, и в этом докладе Дмитрий расскажет как фичи языка (extension method-ы, динамики, и т.п.) помогают реализовать некоторые из них. Доклад сделан по мотивам его курса по паттернам проектирования на Udemy: bit.ly/2p3aZww
Слайды:
www.slideshare.net/DmitriNest...
Пікірлер: 10
26:47 mind blowing
воу! прям взрыв! обязательно куплю ваш курс на udemy как только он будет на скидках
In и Out еще нужно в конструкторе Neuron() инициализировать.
Dmitriy, I'm wondering about NeuronLayer class implementation (well, I'd really like to review your IEnumerable interface implementation for NeuronLayer) - how should it look like so that your method ConnectTo would work fine for both NeuronLayer and Neuron classes? (keeping in mind that fact we have only one "ConnectTo", only one extension). Most probably you'd need another extension method for NeuronLayer class, wouldn't you?
@DmitriNesteruk
7 жыл бұрын
class NeuronLayer : Collection {} -- this can be the whole implementation. And it works automatically with a single ConnectTo() implemented. No need for any extra code! Both Neuron and NeuronLayer are IEnumerable.
@SvetomechTheRainwildsKeeper
7 жыл бұрын
No, there is no need for another extension method.
как тебе книга Теплякова?
@soloondotnet
7 жыл бұрын
Нормально, единственное что мне мало. Ну то есть копать паттерны можно и глубже, что я собственно сделал в курсе и планирую делать еще больше в своей книге (если она выйдет).
По мне Names.Add(Name) более понятно и правильно. Зачем Name знать о том, есть какой-то контейнер, который его содержит? А вот контейнеру необходимо знать о Name, т.к. он для этого и создан.
@PavelPontus
2 жыл бұрын
Дима же объяснял что иногда нужно добавить запись сразу в несколько коллекций, и тогда ты получаешь элегантное решение name.AddTo(nameList).AddTo(anotherList)