ps 这里的高级设计是针对我自己的,一开始我设计的系统,虽然实现了mvc,但还没有真正做到逻辑分离。
因为之前开发过的订单已经已经上线,并且运营了一段时间,修正了很多的bug。这里给了我些思路。但我希望能够把他做的更好。
我把订单分为了3大块。
产品服务、订单服务、结算服务、用户服务
<?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 ); } }
订单系统 高级设计
时间: 2024-10-16 13:05:15