php门面模式(facade pattern)
2024-09-08 09:33:41
书上不全的代码,我自己补全的。
<?php /* The facade pattern is used when we want to simplify the complexities of large systems through a simpler interface. It does so by providing convenient methods for most common tasks, through a single wrapper class used by a client. */ class Product { private $qty = null; public function __construct($qty) { $this->qty = $qty; } public function getQty() { echo 'Product_getQty<br/>'; return $this->qty; } } class QuickOrderFacade { private $product = null; private $orderQty = null; public function __construct($product, $orderQty) { $this->product = $product; $this->orderQty = $orderQty; } public function generateOrder() { if ($this->qtyCheck()) { $this->addToCart(); $this->calculateShipping(); $this->applyDiscount(); $this->placeOrder(); } } private function addToCart() { echo 'QuickOrderFacade_addToCart<br/>'; } private function qtyCheck() { if ($this->product->getQty() > $this->orderQty) { return true; } else { return false; } } private function calculateShipping() { echo 'QuickOrderFacade_calculateShipping<br/>'; } private function applyDiscount() { echo 'QuickOrderFacade_applyDiscount<br/>'; } private function placeOrder() { echo 'QuickOrderFacade_placeOrder<br/>'; } } $order = new QuickOrderFacade(new Product(8), 6); $order->generateOrder(); ?>
最新文章
- Perforce: 常用功能。
- JavaScript -- 小试牛刀
- php生成随机密码的几种方法
- 如何用css3实现一个图片的抖动或者弹跳
- PHP调试总结
- linux下如何开启oracle服务和开启监听
- Python面向对象入门
- Button的图像位置设置
- httpclient 人人网
- 关于DatePicker控件在IsEnabled为False视觉效果没有明显辨识度的处理方法
- Java反转单链表(code)
- windows server 2008 R2 忘记administrator密码
- C++语言体系设计哲学的一些随想(未完待续)
- js 模板引擎 jade使用语法
- 移动端iOS阻止橡皮筋效果
- C# 使用HtmlAgilityPack抓取网页信息
- H5开发中的故障
- springMVC源码分析--HandlerMethodReturnValueHandler返回值解析器(一)
- [angularjs] angularjs系列笔记(一)简介
- mpvue——引入antv-F2图表