设计模式
你与时光终会散
这个作者很懒,什么都没留下…
展开
-
1、什么是设计模式
学习设计模式的意义 1:更深入的理解面向对象的思想. 2:有利于开发出扩展性强的程序 3:面试时的重要考察方面 什么是设计模式?在软件开发过程中,经常出现的典型场景的典型解决方案,称为设计模式如何学习设计模式典型场景--->典型问题--->典型解决方法原创 2016-05-29 22:39:53 · 272 阅读 · 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 · 235 阅读 · 0 评论 -
10、装饰模式
避免深度继承<?phpclass article{ protected $content; public function __construct($content) { $this->content = $content; } public function decorator() { return $t原创 2016-06-02 23:05:18 · 294 阅读 · 0 评论 -
9、策略模式
思考: 如果想增加取模运算又如何操作?想一想简单工厂方法,是否有些相似? 又有哪些不同?通过接口,隔离封装通过继承,适应变化工厂模式,我们着眼于得到对象,并操作对象,策略模式,我们着重得到对象某方法的运行结果 + - * / <?phpinterface Math{ public function calc($op1原创 2016-06-01 23:35:40 · 246 阅读 · 0 评论 -
8、职责链模式
chain of resionbility 指责链模式 粗口 黄赌毒 分裂国家 <?php $lev = isset($_POST['jubao']) ? $_POST['jubao'] + 0 : 0 ; clas原创 2016-05-31 22:55:36 · 284 阅读 · 0 评论 -
7、观察者模式
1:判断选中的值2:顺序下来,根据值,修改内容区域3:再修改广告区域.if(v == '男') { 内容区背景变灰 广告区内容变成男人话题} else if(v == '女'){ 内容区背景变粉 广告区内容变成女人话题}问题在哪儿?1:让你选择时引起3个区域的变化,是否要修改if/elseif部分2:如果选择女性样式,原创 2016-05-30 23:12:24 · 219 阅读 · 0 评论 -
5、工厂方法
//共同接口interface db{ function coon();}interface Factory{ function createDB();}//服务器端开发(不知道将会被谁调用)class dbmysql implements db{ public function conn() {原创 2016-05-29 22:42:49 · 233 阅读 · 0 评论 -
4、简单工厂模式
//共同接口interface db{ function coon();}//服务器端开发(不知道将会被谁调用)class dbmysql implements db{ public function conn() { echo '连接上mysql'; }}class dbsqlite imp原创 2016-05-29 22:42:18 · 301 阅读 · 0 评论 -
3、面向对象接口
//共同接口interface db{ function coon();}//服务器端开发(不知道将会被谁调用)class dbMysql implements db{ public function conn() { echo '连接上mysql'; }}class dbSqlite imp原创 2016-05-29 22:41:43 · 219 阅读 · 0 评论 -
2、说说多态
为什么先说多态? (Polymorphism)答: 多态相对封装与继承,理解稍微复杂一些. 更重要的是, 通过PHP,Java多态的不同体现,体会静态语言与动态语言的巨大差异而这个差异巨大,影响到设计模式. 对于动态语言,不可照搬java,C++中的设计模式 多态(Polymorphism) 是一个生物学上的概念, 指同一特种的多种表现形态. 如:西原创 2016-05-29 22:40:40 · 378 阅读 · 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 · 217 阅读 · 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 · 326 阅读 · 0 评论