摘要:插曲.简单工厂模式(Simple Factory Pattern) 介绍工厂方法模式之前,先来做一个铺垫,了解一下简单工厂模式,它不属于 GoF 的 23 种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”。 1.模式动机 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如
阅读全文
摘要:1.模式动机 在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样简单。 简单粗暴的理解就是:创建一个对象当做模板,然后利用这个模板使用 方法快速的创建一个新的对象。 2.模
阅读全文
摘要:一、学习设计模式前的思想准备 设计模式的出现并不是说我们要写的代码一定要遵循设计模式所要求的方方面面,这是不现实同时也是不可能的。设计模式的出现,其实只是强调好的代码所具备的一些特征(六大设计原则),这些特征对于项目开发是具备积极效应的,但不是说我们每实现一个类就一定要全部满足设计模式的要求,如果真
阅读全文
摘要:1.单一职责原则 一个类,应该只有一个引起变化的原因、只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在一起,这会导致脆弱的设计。当一个职责发生变化时,可能会影响其他的职责。另外,多个职责偶合在一起,会影响复用性。 简单说: 一个类只负责一项职责 。 问题 :比
阅读全文
摘要:1.模式动机 有时候,系统中需要某个类只允许有一个实例。比如 ID 序列生成器,如果存在多个的话,就会出现重复的 ID。 通常这些资源最好在系统启动时预先加载好,以便进行响应处理的时候马上可用。宁可系统启动慢也不要响应慢。 2.模式定义 单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向
阅读全文