
设计模式/代码整理
学海无涯书山有路
这个作者很懒,什么都没留下…
展开
-
模式设计原则/面向对象编程原则
模式设计原则依赖倒置原则(Dependence Inversion Principle) ⾼层模块不应该依赖低层模块,⼆者都应该依赖抽象; 抽象不应该依赖具体实现,具体实现应该依赖于抽象; 开放封闭原则 一个类应该对扩展开放,对修改关闭;面向接口编程 不将变量类型声明为具体的类,而是声明为某个接口。 客户程序不需知道对象的具体类型,只需知道对象所具有的接口。封装变化点 将稳定点 和 变化点分离,扩...原创 2021-01-23 18:37:10 · 141 阅读 · 0 评论 -
数据对象映射模式(ORM) - 设计模式
是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作将复杂的SQL语句映射成对象属性的操作。index.php//数据对象映射模式$user = new \Imooc\User(1);var_dump($user->id, $user->mobile, $user->name, $user->regtime);$user->mobi...原创 2019-01-25 02:04:31 · 1307 阅读 · 0 评论 -
适配器模式-设计模式
适配器模式适配器模式, 可以将截然不同的函数接口封装成统一的API 举例:php数据库有mysqli, pdo 几种,可以用适配器模式统一成一致。还有就是cache 适配器,将memcache ,redis ,file, apc 等不同的缓存函数,统一成一致。...原创 2019-01-25 01:51:39 · 205 阅读 · 1 评论 -
原型模式-创建对象
原型模式操作: 先创建好一个原型对象,然后通过clone 原型对象来创建新的对象。这就免去了类创建时重复的初始化操作。原型模式适用于大对象的创建。如果每次new 就会消耗很大,原型模式仅需要内存拷贝即可。index.php 中$prototype = new Imooc\Canvas();$prototype->init(); //需要做很多很复...原创 2019-01-25 00:53:12 · 347 阅读 · 1 评论 -
单例模式
<?phpclass Preferences { private $props = array(); private static $instance; private function __construct() { } public static function getInstance(){ if(empty(se...原创 2018-06-25 11:41:25 · 132 阅读 · 0 评论 -
策略模式
策略模式将一组特定的行为和算法封装成类举例:一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告。策略模式从侧面 也反应了 Ioc, 依赖倒置, 控制反转。只要发现自己正不断地在继承树的各个分支中重复同一个算法,(无论是通过子类还是通过重复条件语句),请将这些算法抽象成独立的类型。好的代码结构 是重构出来的,或者是改出来的,重要的分析类...原创 2018-06-14 16:54:39 · 110 阅读 · 0 评论 -
命令模式
命令模式描述:命令模式的理解生活中例子:例子1: 上路边摊吃烤串,和上烤串店吃烤串比较,门店更加好点不容易算错帐,不容易记错客户的要求,等等。门店中 客户,服务点, 厨师的关系对照设计模式术语怎么理解? 厨师 ===执行类(会烤鱼,烤串,等等); 服务员== 传达命令类/表面执行类(相会客户来说); 菜单=== 命令类; 客户=== 使用命令的地方;简单的命令模式代码如下:<?phpi...原创 2018-06-08 15:48:02 · 174 阅读 · 0 评论 -
依赖倒置原则(设计模式原则)
(Dependence Inversion Principle)定义: 高层模块不应该依赖底层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。//“抽象”指“接口或抽象类”,“细节”指“实现类”在语言中表现: 模块间的依赖是通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;”A依赖B“指 什么?依赖传递的3种方式?问题(不好的情原创 2018-01-14 00:02:27 · 3565 阅读 · 0 评论