標籤:io cti ar 時間 new c 設計 php
ps 這裡的進階設計是針對我自己的,一開始我設計的系統,雖然實現了mvc,但還沒有真正做到邏輯分離。
因為之前開發過的訂單已經已經上線,並且運營了一段時間,修正了很多的bug。這裡給了我些思路。但我希望能夠把他做的更好。
我把訂單分為了3大塊。
產品服務、訂單服務、結算服務、使用者服務
<?phpinterface IGoodsService {public function parseGoods();}interface ICouponsService {public function addHistory();}interface IMemberService {function saveMoney();}class GoodsService {}//通過介面的方式,確保OrderService能夠獨立class OrderService {protected $GoodsService;protected $CouponsService;protected $MemberService;public function __construct($GoodsService, $CouponsService, $MemberService) {if ($GoodsService instanceof IGoodsService) {$this->GoodsService = $GoodsService;}if ($CouponsService instanceof ICouponsService) {$this->CouponsService = $CouponsService;}}//新增訂單 調用他們的方法保持獨立 和邏輯的完整性public function add($goods, $uid) {//解析產品$this->GoodsService->parseGoods ( $goods );//自己增加訂單$this->MemberService->saveMoney ();//添加記錄$this->CouponsService->addHistory ();}}class CouponsService {}//執行方法class OrderController {//新增訂單public function add() {}public static function getOrderService() {return new OrderService ( $GoodsService, $CouponsService, $MemberService );}}