ps 这里的高级设计是针对我本身的,一开始我设计的系统,虽然实现了mvc,但尚未真正作到逻辑分离。php
由于以前开发过的订单已经已经上线,而且运营了一段时间,修正了不少的bug。这里给了我些思路。但我但愿可以把他作的更好。mvc
我把订单分为了3大块。ui
产品服务、订单服务、结算服务、用户服务this
<?php interface 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 ); } }