Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: ООП Начал писать класс user

Сообщения:  [1-10]    [11-20]  [21-23] 

 
 автор: cheops   (27.07.2007 в 11:30)   письмо автору
 
   для: TXC   (27.07.2007 в 11:25)
 

private

   
 
 автор: TXC   (27.07.2007 в 11:25)   письмо автору
 
   для: cheops   (27.07.2007 в 10:45)
 

> Объявите конструктор закрытым
В смысле final, private, protected?

   
 
 автор: cheops   (27.07.2007 в 10:45)   письмо автору
 
   для: tAleks   (26.07.2007 в 16:54)
 

Объявите конструктор закрытым - тогда вы сможете вызывать его в фабричном методе (его удобно сделать статичным) и не сможете вызывать из вне.

   
 
 автор: Жорик   (27.07.2007 в 10:03)   письмо автору
 
   для: tAleks   (20.07.2007 в 19:53)
 

Юзай Transfer Object и DAO.

   
 
 автор: tAleks   (26.07.2007 в 16:54)   письмо автору
 
   для: cheops   (22.07.2007 в 11:33)
 

>В общем да, однако фабрика предполагает обычно, что в обход её объект класса объявить нельзя, а фабричный метод выдаёт объект во внешний код.

Как это сделать?

У меня в книжке есть пример фабрики классов, но тот, что-то я не вижу запрета на создание класса в обход фабрики.

Меня интетсует именно, как запретить создание объектов без фабрики.

Входной параметр $type, в зависимости от него фабрика должена создать один объект соответствующего типа $type.

Приведите пожалуйста пример.

   
 
 автор: TXC   (22.07.2007 в 11:49)   письмо автору
 
   для: cheops   (22.07.2007 в 11:33)
 

Благодарю.

   
 
 автор: cheops   (22.07.2007 в 11:33)   письмо автору
 
   для: TXC   (21.07.2007 в 14:52)
 

В общем да, однако фабрика предполагает обычно, что в обход её объект класса объявить нельзя, а фабричный метод выдаёт объект во внешний код. В общем, я бы поостерёгся трактовать код, как фабричный - поборники паттернов скорее всего заклюют :)))

   
 
 автор: TXC   (21.07.2007 в 14:52)   письмо автору
 
   для: cheops   (21.07.2007 в 11:52)
 

Попутный вопрос. Класс userAdmin здесь вышел на манер фабрики классов. Верно?

   
 
 автор: tAleks   (21.07.2007 в 14:07)   письмо автору
 
   для: cheops   (21.07.2007 в 11:49)
 

>
>PS Зря мне кажется свзяываетесь с объектно-ориентированным программированием в данном случае - выгоды никакой нет - у вас хоть один класс повторно будет использоваться? Если нет, то добьётесь только трёхкратного увеличения и усложнения кода без всякой для себя выгоды. ООП работает только тогда, когда у вас большая иерархия классов, каждый из которых используется многократно как для наследования, так и внешним кодом. Если каждый класс используется только по одному разу - дешевле, быстрее и надёжнее классы вообще не использовать.


Да, cheops, вы как всегда правы! Сижу второй день, и вместо упрощения все только усложняется. Оставлю я лучше эту затею, до лучших времен... :)

Спасибо!

   
 
 автор: cheops   (21.07.2007 в 11:52)   письмо автору
 
   для: tAleks   (21.07.2007 в 09:56)
 

да.

   

Сообщения:  [1-10]    [11-20]  [21-23] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования