![]() |
|
||||||||||
|
|||||
|
Все мои менеджеры в последнем проекте лежат в одном синглтоне. Есть друг, который говорит: "Если в проекте появились класс с названием manager, значит что-то пошло не так", но не обосновал.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Цитата:
Цитата:
Первую часть фразы тоже присоединяюсь к вопросу. Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Теперь, кажется понял фразу
Цитата:
Цитата:
Но это могло бы выглядеть так: class ServiceClient { var _service:Service; public function new ServiceClient(serviceContainer:Object):void { _service = (serviceContainer as IServiceContainer).service; } } public class ServiceClientOwner {// Вот этот класс ничего не знает о IServiceContiner, правда он завязан на ServiceClient, но сейчас речь не об этом public function ServiceClientOwner(servieContainer:Objесt) { _serviceClient = new ServiceClient(serviceContainer); } } Цитата:
Например, через визуальный список рендереров может проходить куча разнотипных событий рендереров, но это не мешает вынести его в библиотеку без этих конкретных классов событий. Последний раз редактировалось expl; 24.02.2011 в 20:49. |
|
|||||
|
Цитата:
Я вот тебя вообще не понимаю. Класс не знает ни о каком IServiceClient (вообще ситуация из ряда вон) и поэтому типа подход плохой. Ну, а если он не знает о SingletoneClient? В этом случае вообще хана. Цитата:
Вообще менеджер на каком-то уровне глобальная вещь. И если для работы не всегда есть конкретный класс этого менеджера — то блин, надо как-то постараться и заиметь интерфейс, что менеджер реализует. Иначе зачем этот менеджер туда передавать вообще?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
|
|
|||||
|
Понятие "знает" это импорт класса?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Я если честно вообще не вижу проблем в "лишнем" импорте класса. Ну болтается и болтается, я туда вообще не смотрю.
А про вынос - интерфейса хватит. Если вообще на то пошло, то можно предоставить геттер на нужный объект, который будет содержать сеттер на нужный менеджер.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
import IManager; public class Client{ _manager:IManager; pubilc function Client(manager:IManager){ _manager=manager; } } Или вот так:
__________________
ranga |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|