Подкасты

индекс
76,80

19й Подкаст Петербургской Группы Alt.Net

Паттерны проектирования, часть 1


Участники


Что обсуждали



Наш подкаст на RPOD (RSS) и POD.FM (RSS)
прослушан 1057 раз
+14
23 августа 2010, 09:29
34

комментарии (10)

+6
SychevIgor #
классно. личный опыт интересный.
я кстати рад, что тут не любители догм, а то такое ощущение, что все кто читали перечисленные книги, теперь только вот этим паттернами и работает. и ни каких отклонений от догм, мол мы тупые презренные рабы, и должны свято верить в безгрешность авторов.

про синглтон и параллельность. Lazy если я правильно помню довольно не быстрая штука, по этому ленивая инициализация такая не особо имеет смысл, как было сказано Виталием- проверка на null спасет всех. А в плане параллельности вообще все что связано со static -это зло. сколько видел код, которые нужно параллелизовать.первым делом из него убирали все что с static
+2
shai_xylyd #
Для обхода кольцевых ссылок не обязательно писать свой serializer, тот, который появился в версии 3.0, их поддерживает. Если не ошибаюсь, это DataContractSerializer.
+1
butaji #
По крайней мере JavascriptSerializer (который мощнее DataContractJsonSerializer) не умеет этого делать
+1
shai_xylyd #
Не, все точно, это действительно DataContractSerializer, только что проверил, вот исходник: pastie.org/1109640
+1
butaji #
Да, классно, и даже так скушал:
[DataContract]
public class Child
{

[DataMember]
public string SomeData { get; set; }

[DataMember]
public Child Child1 { get; set; }

}
+1
shai_xylyd #
Кстати, с Protocol Buffers for .Net проблем нет? а то я испугался и использую официальную версию под Java + IKVM.
+3
Fintiflushka #
Спасибо.
+3
nihi_l_ist #
Кроме «DO Factory» есть подобный ресурс: sourcemaking.com. Хорош тем, что там есть ещё и антипаттерны и рефакторинг. А тема интересная и вы адекватно побеседовали =) Спасибо.
0
scorched #
Насчет фабричного метода. К вопросу «зачем это надо»: имя фабричного метода говорит о назначении этого «конструктора», а у обычного конструктора имя поменять нельзя.

Еще есть мнение, что конструкторы усложняют классы, и пример тому из реальной жизни: «мотор у машины не знает же, как построить самого себя».

Сдается мне, что «fluent interface» и «фабричный метод» мало связаны. Что мешает сделать: new StringBuilder().append().append().append().

+1 к тому, что хочется, чтобы все фреймворки поддерживали fluent interface.

Спасибо! Буду ждать следующих выпусков!
0
f_r_o_s_t #
Спасибо. Будем ждать продолжения.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.