package domain { import domain.ldvcs.controller.DomainController; import domain.ldvcs.controller.I_DomainController; import domain.ldvcs.data.DomainData; import domain.ldvcs.data.I_DomainData; import domain.ldvcs.logic.DomainLogic; import domain.ldvcs.logic.I_DomainLogic; import domain.ldvcs.service.DomainService; import domain.ldvcs.service.I_DomainService; import domain.ldvcs.view.DomainView; import domain.ldvcs.view.I_DomainView; import flash.display.Sprite; public class DomainEnvironment extends Sprite implements I_DomainEnvironment { ///////////////////////////////////////////////////////////////////////////// // LDVCS components ///////////////////////////////////////////////////////////////////////////// private var v_data: I_DomainData = new DomainData(); private var v_service: I_DomainService = new DomainService(v_data); private var v_logic: I_DomainLogic = new DomainLogic(v_data, v_service); private var v_controller: I_DomainController = new DomainController(v_logic); private var v_view: I_DomainView = new DomainView(v_data, v_controller); public function get data(): I_DomainData { return v_data; } public function get service(): I_DomainService { return v_service; } public function get logic(): I_DomainLogic { return v_logic; } public function get controller(): I_DomainController { return v_controller; } public function get view(): I_DomainView { return v_view; } ///////////////////////////////////////////////////////////////////////////// // Public methods ///////////////////////////////////////////////////////////////////////////// /** @inheritDoc */ public function asSprite(): Sprite { return this; } public function initialize(): void { this.addChild(v_view.asSprite()); } ///////////////////////////////////////////////////////////////////////////// // End of class ///////////////////////////////////////////////////////////////////////////// } }