|
|
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, я новичок, изучаю ООП и паттерны проектирвания по книшке. В данном случае непонятно мне по шаблону Строитель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 13:08 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
вот на этой картинке вызываем постройку объекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 13:09 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
а вопрос такой, нахрена так сложно всю эту хрень вызывать, неужели нельзя сделать так, чтобы метод Директора Construct() сразу бы и возвращал Product ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 13:10 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
У меня был другой строитель. Как в вики https://ru.wikipedia.org/wiki/Строитель_(шаблон_проектирования)#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80_.D0.BD.D0.B0_Java Пример 2 на Java Код: java 1. 2. Здесь как-бы мотивация очевидна. Строим рецепт Кока-Колы из калорий, соды и еще какой-то хрени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 15:36 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
Новичок ООП.а вопрос такой, нахрена так сложно всю эту хрень вызывать, неужели нельзя сделать так, чтобы метод Директора Construct() сразу бы и возвращал Product ? У меня есть ощущение, что паттерны - это такая хрень, которую придумали, чтобы испортить мозги паре ближайших поколений программистов. И это тому примером. Говоря нормальным языком, паттерн - это подход. Проверенный и удобный подход к решению какого-то класса задач. Поэтому знакомство с любым паттерном - и, соответственно, рассказ о любом паттерне - надо начинать с чёткого и понятного объяснения задачи, которая будет им решаться. Вот, скажем, приведённая mayton-ом статья в вики - образец того, как нужно писать о шаблонах так, чтобы получилась вредная выносящая мозги хрень. Примеры кода чуть лучше, но вызывают ровно тот же вопрос, "и нахрена вся эта хреномундия?" Так вот, отвечая на Ваш вопрос. Если Вы, решая свою задачу, видите, что "нахрена так сложно" - значит, этот шаблон не очень подходит к Вашей задаче. Вам нужно переделать этот шаблон или выбрать другой. В целом - лично я не вижу реальных задач под то, что у Вас приведено, вполне вероятно, я с ними не встречался. Смутно вырисовывается что-то в роде "продукт - это, допустим, рисунок. части - примитивы, из которых он состоит, всякие квадратики-кружки. директор - соответственно, описание рисунка, а продукт - уже результат, нарисованный на холсте". Но в целом всё равно бред, по-моему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 20:07 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
softwarerУ меня есть ощущение, что паттерны - это такая хрень, которую придумали, чтобы испортить мозги паре ближайших поколений программистов. И это тому примером. ИМХУ придумано давным давно, это просто продолжение. Эволюция. Вспоминаю себя в начале карьеры. Читал умные книжки, где умные дядьки писали "никогда так не делай", а почему особо не разъясняли, может я просто не понимал разъяснения. В итоге считал дядек заумными, делал как они не советуют потому что все упрощается, а потом, побегав по граблям, чесал мозг "почему я дядек сразу не послушался?". Сегодня разрыв между базовыми знаниями и опытом значительно увеличился, отсюда паттерны, отчасти это неплохо, быстро получаешь достаточно эффективное решение, другой вопрос что не понимаешь почему оно самое эффективное и нет эффективнее, т.е. почему надо чужой опыт ставить вперед своей неопытности? Читай про дядек в начале. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 20:24 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
IMHO: Паттерны относятся не столько к знаниям сколько к навыку и опыту. Это нужно наверное много кода написать и многое переписать и переделать чтобы увидеть очевидное обоснование. Новичок ООП не писал много ООП кода который конструирует сложные объекты и не может понять мотивацию. А понимание мотивации - самое главное у Фаулера. Я к стыду должен сказать что тоже не все понимал и применял. Наверное всё ситуативно. Будет ситуация - найду. Почитаю и применю. А некоторые такие очевидные как пул объектов .. ну вообще мы все применяли и много и без пафоса. И не нарекали его таким громким названием. Кеш объектов. Пул объектов. Набор объектов. Или просто какой нибудь yet another fucken interface к LRU-списку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 00:38 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
Новичок ООП.а вопрос такой, нахрена так сложно всю эту хрень вызывать, неужели нельзя сделать так, чтобы метод Директора Construct() сразу бы и возвращал Product ? Мужик, при изучении паттернов вопрос "на хрена" вообще бессмысленно задавать. паттерн - это случай, когда люди решали какую-то проблему, решили, у них получилось, и они делятся с тобой способом решения. Если ты можешь что-то создать сразу, то очевидно, что тебе этот паттерн просто не нужен и ты зря теряешь время. у каждого из паттернов есть начальные ограничения, условия применения и в результате некоторые эффекты от применения. напоминаю, что builder ценен тем, что создает объекты сложной структуры из простых, и он гарантирует целостность этой структуры. также напомню, что основная ценность книги в том, что не все надо делать через Наследование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2016, 09:43 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
MasterZivМужик, при изучении паттернов вопрос "на хрена" вообще бессмысленно задавать. Гениально. Я вот представляю, как такой же подход работал бы у строителей. Паттерн "Авангард" - у входной двери расположена спальня, потом туалет, потом кухня, потом гостиная, потом ванная. А на хрена так? Мужик, при изучении паттернов архитектуры такой вопрос вообще бессмысленно задавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2016, 10:19 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
softwarerЯ вот представляю, как такой же подход работал бы у строителей. Паттерн "Авангард" - у входной двери расположена спальня, потом туалет, потом кухня, потом гостиная, потом ванная. А на хрена так? Мужик, при изучении паттернов архитектуры такой вопрос вообще бессмысленно задавать. Это не строители, а архитекторы. Косячат именно так, сплошь и рядом. ХЗ конечно чем вызвано, точнее вызвано тем что надо увеличить продаваемые кв.метры, а то что внутри метров - можно сэкономить, планировки квартир поручить студентам. Были бы у них паттерны, может и не получился бы "Авангард". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2016, 10:28 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
Вообще сама идея "натягивания" паттерна на проект напоминает какой-то дешевый маркетинг. И главный маркетолог Фаулер парит нам эти подходы и уверяет в том что это офигеть как нужно и мы раньше жили как дилетанты а как только применим паттерны - всё как-то сразу станет круто и энтерпрайзово... e.t.c И мыж радостные киваем головами и go-go внедрять и натягивать сов на глобусы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2016, 18:00 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
Новичок ООП.Здравствуйте, я новичок, изучаю ООП и паттерны проектирвания по книшке. В данном случае непонятно мне по шаблону Строитель. http://stackoverflow.com/questions/4313172/builder-design-pattern-why-do-we-need-a-director Я так понимаю, что в шаблоне есть три роли: - Строитель, который инкапсулирует сложность при построении объекта - То, что он строит - И тот, кто командует строителем - то есть всегда есть кто-то кто должен содержать набор инструкций к билдеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 14:56 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
MasterZivМужик, при изучении паттернов вопрос "на хрена" вообще бессмысленно задавать. паттерн - это случай, когда люди решали какую-то проблему, Мне кажется тут есть небольшое противоречие. Вторая фраза утверждает, что с тобой делятся решением проблемы, вторая утверждает что бессмысленно говорить "на хрена". Вот затем-то и нужен паттерн чтобы решить проблему. Часто в каталогах паттернов проблема, которую пытаются решить определена в начале. Вот например http://c2.com/cgi/wiki?BuilderPattern Intent: Separate the steps for constructing of a complex object from its final representation so that (a) an object with strict properties (e.g. immutable, or say, maxTemperature >= minTemperature) can be configured in less strict steps, (b) avoid hard-to-remember/understand chatty constructors with many arguments, and (c) where possible allow the caller to reuse steps for creating similar instances ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 15:03 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
WebSharper, И всётаки почему продукт возвращается директором а не строителем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 16:36 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
а, туплю, продукт строителем возвращается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 16:38 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
касательно "неужели нельзя сделать так, чтобы метод Директора Construct() сразу бы и возвращал Product ?" - можно но для некоторых недостаточно эстетично - получается обработчик с гетером скрещенный. Судя по тщательному соблюдению нейминг конвенций в изначальном примере и тому что в вики директор вполне себе возвращает продукт думаю что заморачиваться на эту тему так особо не следует - достаточно вкурить зачем директор вообще нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 16:49 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
МарсWebSharper, И всётаки почему продукт возвращается директором а не строителем? Потому, что цель строителя содержать удобный интефейс/набор примитивов для построения объекта, а не рецепт построения конкретного варианта объекта. Вот, например, у Фаулера: http://www.martinfowler.com/bliki/ExpressionBuilder.html Код: java 1. 2. 3. 4. 5. Такой код в конкретными значениями часто бывает в тестах. Допустим у нас есть код теста, в котором это написано. Тогда тестовый класс играет роль Директора (он командует билдером) а билдер может быть использован в других тестах по другому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 18:02 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
Интересно можлно-ли было выкосить из текста напрочь эти пошлые метафоры такие как "строитель", "директор", "уборщица" и получить чистую формулу вида f(x,y,z) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 18:22 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
Это не метафора. Просто тот, кто строит называется строитель вне зависимости от того, человек он или нет. А тот кто навправляет, назвается директор (to direct). А тот кто занимается уборкой, тот уборщица, ну, или сборщик мусора. Все по смыслу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 18:47 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
WebSharper, вы когда решаете квадратное уравнение - наделяете материальным смыслом a, b, c ? Нет. Вам это не нужно чтобы решить его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 18:55 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
WebSharperМарсWebSharper, И всётаки почему продукт возвращается директором а не строителем? Потому, что цель строителя содержать удобный интефейс/набор примитивов для построения объекта, а не рецепт построения конкретного варианта объекта. Вопрос был не про зачем директор нужен, а должен ли ссылку на готовый объект возвращать директор или строитель maytonWebSharper, вы когда решаете квадратное уравнение - наделяете материальным смыслом a, b, c ? Нет. Вам это не нужно чтобы решить его. Директор, строитель и тд тут это скорее как "числитель"\"знаменатель" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2016, 19:23 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
МарсВопрос был не про зачем директор нужен, а должен ли ссылку на готовый объект возвращать директор или строитель Я так понял что строитель в конце концов должен возвращать эту ссылку, а директору не возбраняется но и не требуется. Т.е. Если он руководит строителем то он директор, если он играет роль фабрики для себя или кого-то другого то может и возвратить ссылку - получит у строителя. maytonДиректор, строитель и тд тут это скорее как "числитель"\"знаменатель" Дада ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2016, 07:06 |
|
||
|
Вопрос по шаблонам проектирования. Строитель.
|
|||
|---|---|---|---|
|
#18+
Мне вот тут подсказали, что классы, которые я пишу для тестирования в интерфейсе - это типа Builder и есть. Ну что я могу сказать.... если так, значит, очередная идиотская аналогия только мешает пониманию сути. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2016, 12:52 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39197413&tid=1340764]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 485ms |

| 0 / 0 |
