|
|
|
Статические методы vs фабрики классов
|
|||
|---|---|---|---|
|
#18+
Всем привет! Мне интерестно, а чем использование Factory лучше чем использование статических методов? И чем вообще плохи статические методы? И зачем вообще нужны Factory? Приведу пример: 1) Использование фабрики классов: Пусть у меня есть класс RubricDao: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2) Использование статических методов: Пусть у меня есть класс RubricDao: Код: plaintext 1. 2. 3. 4. Тогда использование этого класса в другом участке кода такое: Код: plaintext Так вот, в упор не вижу, чем первое решение лучше, чем второе. Да, в первом случае нету статических методов. Но зато во втором случае везде достаточно вызвать одну строчку кода для вызова метода findAll(), и не нужно дергать никаких фабрик и писать две строчки кода. Вобщем, обьясните, пожалуйста, какое решение лучше, и какая вообще польза от фабрик? Читал о фабриках статьи, но так и не понял, в чем преимущество. Обьясните, пожалуйста, на пальцах. Всем заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2006, 20:53:23 |
|
||
|
Статические методы vs фабрики классов
|
|||
|---|---|---|---|
|
#18+
Фабрика не имеет статических методов, то, что у вас - называется factory method Читайте про шаблон factory, там все написано Dmitriy O "Итак вред от арабов (черных мусульман) - Присутсвовали в татаро-монгольском иге" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2006, 22:41:56 |
|
||
|
Статические методы vs фабрики классов
|
|||
|---|---|---|---|
|
#18+
Преимущества фабрик: 1) позволяют централизированно конфигурировать создаваемые объекты 2) в случае с абстрактной фабрикой - позволяет менять имплементации без изменения существующего кода Dmitriy O "Итак вред от арабов (черных мусульман) - Присутсвовали в татаро-монгольском иге" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2006, 22:55:36 |
|
||
|
Статические методы vs фабрики классов
|
|||
|---|---|---|---|
|
#18+
авторчем использование Factory лучше чем использование статических методов? это абсолютно разные вещи. static factory methods используются как альтернатива constructors. Преимущества static factory methods по сравнению с constructors: 1. Дают возможность более удобного именования методов. 2. Дают возможность кэширования обьектов. 3. Дают возможность использования синглтонов. Другое общепринятое применение static factory methods это ситуации когда для выполнения какой либо операции не требуется создание обьекта. Например Collections, Math и др классы. Factory design pattern используется для получения одного из возможных классов (сабклассов какого либо класса или имплементаций какого либо интерфейса) в зависимости от переданных аргументов. В данном случае классы объектов возвращаемых factory имеют один и тот же интерфейс но различную имплементацию. Этот подход дает возможность отгородить пользователя factory от логики отвественной за возврат того или иного класса. (если на пальцах, то для того чтобы купить гостям вино вы называете продавцу марку вина, а как это вино производят и откуда продавец его берет вам без разницы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2006, 00:40:29 |
|
||
|
Статические методы vs фабрики классов
|
|||
|---|---|---|---|
|
#18+
Было бы не плохо, если бы кто-то указал ссылки на статьи по проектированию фабрик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2006, 01:26:03 |
|
||
|
Статические методы vs фабрики классов
|
|||
|---|---|---|---|
|
#18+
ДжавистБыло бы не плохо, если бы кто-то указал ссылки на статьи по проектированию фабрик. Фаулера почитай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2006, 06:17:45 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34017301&tid=2147985]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
189ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 503ms |

| 0 / 0 |
