设计模式
AdleyTales
这个作者很懒,什么都没留下…
展开
-
控制反转、依赖注入
第一章:小明和他的手机 从前有个人叫小明 小明有三大爱好,抽烟,喝酒…… 咳咳,不好意思,走错片场了。应该是逛知乎、玩王者农药和抢微信红包 小明的三大爱好 我们用一段简单的伪代码,来制造一个这样的小明 class Ming extends Person { private $_name; private $_age; function read() { //逛知乎 } function play() { //玩农药 } function grab() { //抢红包 }原创 2020-10-20 15:55:48 · 466 阅读 · 2 评论 -
设计模式-单例模式
/** * 单例设计模式 * * 单例模式(Singleton Pattern)是一种常用的模式,有一些对象我们往往只需要一个, * 比如全局缓存、浏览器中的 window 对象等。单例模式用于保证一个类仅有一个实例, * 并提供一个访问它的全局访问点。 * * 应用场景: * 1、需要频繁实例化然后销毁的对象。 * 2、创建对象时耗时过多或耗资源过多,但又经常用到的对象。 * 3、系统只需要一个实例对象,如系统要求提供一个唯一的序列号生成器或资源管理器,或者需要考虑资源消耗太大而只原创 2020-10-10 09:47:53 · 96 阅读 · 0 评论 -
设计模式-建造者模式
/** * 建造者设计模式 * * 应用场景: * 1、需要生成的产品对象有复杂的内部结构,这些产品对象通常包含多个成员属性。 * 2、需要生成的产品对象的属性相互依赖,需要指定其生成顺序。 * 3、隔离复杂对象的创建和使用,并使得相同的创建过程可以创建不同的产品。 */ class Car{ constructor( public engine: string, // 引擎 public chassis: string, // 底盘 public body:原创 2020-10-09 18:04:19 · 155 阅读 · 1 评论 -
JavaScript设计模式—观察者模式
观察者模式又称“发布-订阅(Publish/Subscribe)模式”。 发布者有了新的内容,需要向订阅者推送数据,那么新的内容(state)、订阅者有哪些(observers)就是发布者需要包含的东西,谁订阅了、谁退订了则要对发布者中的订阅者列表进行更新。 ...原创 2019-02-12 09:32:47 · 286 阅读 · 0 评论 -
JavaScript设计模式—单例模式
单例模式: 一个“类”只能创造一个实例。 let initSingleton = null; class Singleton { constructor(){ if(!initSingleton){ initSingleton = true; // ... 业务代码 console.log('init'); } } } new Sin...原创 2019-02-12 10:52:31 · 283 阅读 · 0 评论