码迷,mamicode.com
首页 > 其他好文 > 详细

订单系统 高级设计

时间:2014-08-04 18:26:57      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:io   cti   ar   时间   new   c   设计   php   

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 );
	}

}





订单系统 高级设计,布布扣,bubuko.com

订单系统 高级设计

标签:io   cti   ar   时间   new   c   设计   php   

原文地址:http://my.oschina.net/u/554046/blog/297892

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!