博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php设计模式之——门面模式
阅读量:4294 次
发布时间:2019-05-27

本文共 1079 字,大约阅读时间需要 3 分钟。

因为同样的设计思想在不同的场景下人们就会对它有不同的认识,这基本上其实是用来帮助使用者判断在什么场景下该用什么设计模式。

门面模式Facade

今天来学习下门面模式。门面模式是指提供一个统一的接口来调用多个子系统的接口。听起来也没什么复杂的,我来解释下。

理解门面模式

其实门面模式这个思想在现实生活中到处都是,几乎我们使用的每个产品都是由很多小的子系统组合而成,但是每个产品都对外提供了统一的用户接口。

比如我们要在淘宝买东西,我基本上只需要鼠标点一些按钮就完成了,但是实际上网站的后台是很多个子系统一起去完成你购买商品的任务的,比如网站系统,购物车系统,订单系统,用户中心系统,支付系统。这些系统对外通过了统一的接口,让你在网站上点按钮就可以完成买东西的需求。这就是门面模式。我的理解起这个名称的人关注的是由多个接口不统一的子系统对外提供统一的接口,好像形成了一个界面或者门面一样,所以叫门面模式吧。

例子

想千遍,不如做一遍,让我们把代码写起来

goods, $good); }}/** * 支付系统 * Class Pay */class Pay{ public function run() { echo "支付订单".PHP_EOL; }}/** * 用户界面 * Class UserUI */class UserUI { protected $cart = []; protected $order ; protected $pay; public function __construct() { $this->cart = new Cart(); $this->order = new Order(); $this->pay = new Pay(); } /** * 选择商品 */ public function buy() { $this->cart->add('iphone'); $this->cart->add('iPad'); $this->order->run(); $this->pay->run(); }}$userui = new UserUI();$userui->buy();

看起来,好像很简单,将多个对象组合起来完成了一个购买商品的功能,这就是门面模式,所以学东西不要被名词给蒙蔽了,要能认识到他到底在说什么。

转载地址:http://druws.baihongyu.com/

你可能感兴趣的文章
量化策略回测01双均线
查看>>
量化策略回测ATRRSI
查看>>
量化干货:量化交易系统设计的六大细节
查看>>
量化策略回测tdma
查看>>
量化策略回测TRIXKDJ
查看>>
量化策略回测唐安奇通道
查看>>
CTA策略如何过滤部分震荡行情?
查看>>
量化策略回测DualThrust
查看>>
量化策略回测BoolC
查看>>
量化策略回测DCCV2
查看>>
mongodb查询优化
查看>>
五步git操作搞定Github中fork的项目与原作者同步
查看>>
git 删除远程分支
查看>>
删远端分支报错remote refs do not exist或git: refusing to delete the current branch解决方法
查看>>
python multiprocessing遇到Can’t pickle instancemethod问题
查看>>
APP真机测试及发布
查看>>
iOS学习之 plist文件的读写
查看>>
通知机制 (Notifications)
查看>>
10 Things You Need To Know About Cocoa Auto Layout
查看>>
C指针声明解读之左右法则
查看>>