Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Статические методы vs фабрики классов / 7 сообщений из 7, страница 1 из 1
27.09.2006, 20:53:23
    #34017176
Vetal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статические методы vs фабрики классов
Всем привет!

Мне интерестно, а чем использование Factory лучше чем использование статических методов? И чем вообще плохи статические методы? И зачем вообще нужны Factory?

Приведу пример:
1) Использование фабрики классов:
Пусть у меня есть класс RubricDao:
Код: plaintext
1.
2.
3.
4.
 public   class  RubricDao {
	 public  List<Rubric> findAll() {
		...
	}
}
Тогда использование этого класса в другом участке кода такое:
Код: plaintext
1.
rubricDao = DaoFactory.getRubricDao();
List rubrics = rubricDao.findAll();

2) Использование статических методов:
Пусть у меня есть класс RubricDao:
Код: plaintext
1.
2.
3.
4.
 public   class  RubricDao {
	 public   static  List<Rubric> findAll() {
		...
	}
}

Тогда использование этого класса в другом участке кода такое:
Код: plaintext
List rubrics = RubricDao.findAll();


Так вот, в упор не вижу, чем первое решение лучше, чем второе. Да, в первом случае нету статических методов. Но зато во втором случае везде достаточно вызвать одну строчку кода для вызова метода findAll(), и не нужно дергать никаких фабрик и писать две строчки кода.

Вобщем, обьясните, пожалуйста, какое решение лучше, и какая вообще польза от фабрик? Читал о фабриках статьи, но так и не понял, в чем преимущество. Обьясните, пожалуйста, на пальцах.

Всем заранее спасибо!
...
Рейтинг: 0 / 0
27.09.2006, 22:41:56
    #34017301
Pitbull terrier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статические методы vs фабрики классов
Фабрика не имеет статических методов, то, что у вас - называется factory method
Читайте про шаблон factory, там все написано

Dmitriy O "Итак вред от арабов (черных мусульман)
- Присутсвовали в татаро-монгольском иге"
...
Рейтинг: 0 / 0
27.09.2006, 22:55:36
    #34017324
Pitbull terrier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статические методы vs фабрики классов
Преимущества фабрик:
1) позволяют централизированно конфигурировать создаваемые объекты
2) в случае с абстрактной фабрикой - позволяет менять имплементации без изменения существующего кода

Dmitriy O "Итак вред от арабов (черных мусульман)
- Присутсвовали в татаро-монгольском иге"
...
Рейтинг: 0 / 0
28.09.2006, 00:40:29
    #34017393
OU
OU
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статические методы vs фабрики классов
авторчем использование Factory лучше чем использование статических методов?
это абсолютно разные вещи.

static factory methods
используются как альтернатива constructors. Преимущества static factory methods по сравнению с constructors:

1. Дают возможность более удобного именования методов.
2. Дают возможность кэширования обьектов.
3. Дают возможность использования синглтонов.

Другое общепринятое применение static factory methods это ситуации когда для выполнения какой либо операции не требуется создание обьекта. Например Collections, Math и др классы.

Factory design pattern используется для получения одного из возможных классов (сабклассов какого либо класса или имплементаций какого либо интерфейса) в зависимости от переданных аргументов. В данном случае классы объектов возвращаемых factory имеют один и тот же интерфейс но различную имплементацию. Этот подход дает возможность отгородить пользователя factory от логики отвественной за возврат того или иного класса. (если на пальцах, то для того чтобы купить гостям вино вы называете продавцу марку вина, а как это вино производят и откуда продавец его берет вам без разницы)
...
Рейтинг: 0 / 0
28.09.2006, 01:26:03
    #34017426
Джавист
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статические методы vs фабрики классов
Было бы не плохо, если бы кто-то указал ссылки на статьи по проектированию фабрик.
...
Рейтинг: 0 / 0
28.09.2006, 06:17:45
    #34017483
Кувалдин Роман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статические методы vs фабрики классов
ДжавистБыло бы не плохо, если бы кто-то указал ссылки на статьи по проектированию фабрик.
Фаулера почитай.
...
Рейтинг: 0 / 0
28.09.2006, 08:41:52
    #34017580
ldima
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Статические методы vs фабрики классов
ДжавистБыло бы не плохо, если бы кто-то указал ссылки на статьи по проектированию фабрик.
Э. Гамма Р. Хелм Р. Джонсон Дж. Влиссидес "Приемы объектно-ориентированного проектирования".
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Статические методы vs фабрики классов / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]