设计模式
你与时光终会散
这个作者很懒,什么都没留下…
展开
-
1、什么是设计模式
学习设计模式的意义 1:更深入的理解面向对象的思想. 2:有利于开发出扩展性强的程序 3:面试时的重要考察方面 什么是设计模式? 在软件开发过程中,经常出现的典型场景的典型解决方案,称为设计模式 如何学习设计模式 典型场景--->典型问题--->典型解决方法原创 2016-05-29 22:39:53 · 270 阅读 · 0 评论 -
11.适配器模式
<?php //服务器端 class tianqi { public static function show() { $today = array('tep'=>28, 'wind'=>7, 'sun'=>'sunny'); return serialize($today); } } class AdapterTianqi extends tianqi { public sta原创 2016-06-05 21:29:42 · 229 阅读 · 0 评论 -
10、装饰模式
避免深度继承 <?php class article { protected $content; public function __construct($content) { $this->content = $content; } public function decorator() { return $t原创 2016-06-02 23:05:18 · 290 阅读 · 0 评论 -
9、策略模式
思考: 如果想增加取模运算又如何操作? 想一想简单工厂方法,是否有些相似? 又有哪些不同? 通过接口,隔离封装 通过继承,适应变化 工厂模式,我们着眼于得到对象,并操作对象, 策略模式,我们着重得到对象某方法的运行结果 + - * / <?php interface Math { public function calc($op1原创 2016-06-01 23:35:40 · 244 阅读 · 0 评论 -
8、职责链模式
chain of resionbility 指责链模式 粗口 黄赌毒 分裂国家 <?php $lev = isset($_POST['jubao']) ? $_POST['jubao'] + 0 : 0 ; clas原创 2016-05-31 22:55:36 · 279 阅读 · 0 评论 -
7、观察者模式
1:判断选中的值 2:顺序下来,根据值,修改内容区域 3:再修改广告区域. if(v == '男') { 内容区背景变灰 广告区内容变成男人话题 } else if(v == '女'){ 内容区背景变粉 广告区内容变成女人话题 } 问题在哪儿? 1:让你选择时引起3个区域的变化, 是否要修改if/elseif部分 2:如果选择女性样式,原创 2016-05-30 23:12:24 · 216 阅读 · 0 评论 -
5、工厂方法
//共同接口 interface db { function coon(); } interface Factory { function createDB(); } //服务器端开发(不知道将会被谁调用) class dbmysql implements db { public function conn() {原创 2016-05-29 22:42:49 · 229 阅读 · 0 评论 -
4、简单工厂模式
//共同接口 interface db { function coon(); } //服务器端开发(不知道将会被谁调用) class dbmysql implements db { public function conn() { echo '连接上mysql'; } } class dbsqlite imp原创 2016-05-29 22:42:18 · 296 阅读 · 0 评论 -
3、面向对象接口
//共同接口 interface db { function coon(); } //服务器端开发(不知道将会被谁调用) class dbMysql implements db { public function conn() { echo '连接上mysql'; } } class dbSqlite imp原创 2016-05-29 22:41:43 · 215 阅读 · 0 评论 -
2、说说多态
为什么先说多态? (Polymorphism) 答: 多态相对封装与继承,理解稍微复杂一些. 更重要的是, 通过PHP,Java多态的不同体现,体会静态语言与动态语言的巨大差异 而这个差异巨大,影响到设计模式. 对于动态语言,不可照搬java,C++中的设计模式 多态(Polymorphism) 是一个生物学上的概念, 指同一特种的多种表现形态. 如:西原创 2016-05-29 22:40:40 · 375 阅读 · 0 评论 -
6、单例模式
//单例模式 //第一步,普通类 class single { } $s1 = new single(); $s2 = new single(); //两个对象是一个的时候才全等 if($s1 === $s2) { echo '是一个对象'; }else{ echo '不是一个对象'; } //第二步 封锁new操作 class s原创 2016-05-30 21:55:38 · 213 阅读 · 0 评论 -
12.桥接模式
<?php //防止子类爆炸 //论坛给用户发信息,可以是站内短信,email, 手机 interface msg { public function send($to, $content) { } } class zn implements msg { public function send($to, $content) { ech原创 2016-06-05 22:38:26 · 322 阅读 · 0 评论