|
|
|
Реализация паттерна Builder
|
|||
|---|---|---|---|
|
#18+
Добрый вечер! Есть некий класс: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Реализуем паттерн Builder для данного класса: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 17:20:13 |
|
||
|
Реализация паттерна Builder
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Это нормальный подход? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 17:27:13 |
|
||
|
Реализация паттерна Builder
|
|||
|---|---|---|---|
|
#18+
scymaks, Смею утверждать что нет. http://rwhansen.blogspot.com.au/2007/07/theres-builder-pattern-that-joshua.html Почитайте немного вот тут, поймете где дали промашку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 17:33:42 |
|
||
|
Реализация паттерна Builder
|
|||
|---|---|---|---|
|
#18+
Kostya Ilyinov, Кстати не самый удачный пример привел в первом ответе. Вот тут почитайте http://stackoverflow.com/questions/4859815/whats-the-revised-builder-pattern ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 17:35:04 |
|
||
|
Реализация паттерна Builder
|
|||
|---|---|---|---|
|
#18+
Kostya Ilyinov, спасибо, за ссылки, находил подобное ( http://habrahabr.ru/post/86252 ). Меня в таком подходе смущает то, что builder дублирует поля ( => знает как устроен объект, который он будет строить, а следовательно, жестко привязан к реализации ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2012, 18:09:11 |
|
||
|
Реализация паттерна Builder
|
|||
|---|---|---|---|
|
#18+
Это нормально разве, что мы привязанны к реализации...? Да и вообще, от чего спасает Builder? Вот в моем примере нельзя "забыть" выполнить какие-то операции по построению объекта, а там... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 09:43:49 |
|
||
|
Реализация паттерна Builder
|
|||
|---|---|---|---|
|
#18+
scymaksЭто нормально разве, что мы привязанны к реализации...? Нормально. Просто с builder ситуация обычно переворачивается по сравнению с классами: реализацию знает только builder ( обычно это private inner class ), a возвращает обычно интерфейс. scymaksДа и вообще, от чего спасает Builder? Вот в моем примере нельзя "забыть" выполнить какие-то операции по построению объекта, а там... Именно так, закрывает возможность попасть в некорректное состояние. То есть компилятор проверяет не только типы и параметры, но и логику программы. Предельный случай - как написать игру в крестики нолики где любая попытка сделать неправильный ход вызывает ошибку компиляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 06:48:14 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=271&tid=2131058]: |
0ms |
get settings: |
14ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
41ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 331ms |
| total: | 502ms |

| 0 / 0 |
