设计模式
yyyou_1
这个作者很懒,什么都没留下…
展开
-
单例模式
单例模式 单例对象(singleton)是一种常用的设计模式。在java应用中,单例对象能保证在一个jvm中,该对象只有一个实例 存在。这样的模式有以下几个好处: 某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 示例 饿汉式单例 public class Student { //2.成员变量初始化本身对象 ...原创 2019-08-03 08:45:39 · 145 阅读 · 0 评论 -
简单工厂模式
介绍 工厂类拥有一个工厂方法(create),接收一个参数,通过不同的参数实例化不同的产品类。 优缺点 优点: 简单工厂的特点就是“简单粗暴”,通过一个含参的工厂方法,我们可以实例化任何产品类,无所不能。 缺点: 任何“东西”的子类都可以生产,负担太重。当所要生产产品种类非常多时,工厂方法的代码量可能会很庞大。 在遵循开闭原则(对拓展开放,对修改关闭)的条件下,简单工厂对于增加新的产品无...原创 2019-07-26 17:22:54 · 83 阅读 · 0 评论 -
工厂方法模式
介绍 工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。 优缺点 优点: 工厂方法模式就很好的减轻了工厂类的负担,把某一类/某一种东西交由一个工厂生产;(对应简单工厂的缺点1) 同时增加某一类“东西”并不需要修改工厂类,只需要添加生产这类“东西”的工厂即可,使得工厂类符合开放-封闭原则。 缺点: 对于某些可以形成产品族的情况处理比较复杂。 示例 ...原创 2019-07-26 18:00:20 · 77 阅读 · 0 评论 -
抽象工厂模式
介绍 抽象工厂是应对产品族概念的。 例如,汽车可以分为轿车、SUV、MPV等,也分为奔驰、宝马等。我们可以将奔驰的所有车看作是一个产品族,而将宝马的所有车作另外一个产品族。分别对应两个工厂,一个是奔驰的工厂,另一个是宝马的工厂。与工厂方法不同,奔驰的工厂不只是生产具体的某一个产品,二十一族产品(奔驰轿车、奔驰SUV、奔驰MPV)。“抽象工厂”的抽象指的就是这个意思。 上面的工厂方法模式是...原创 2019-07-27 22:17:24 · 114 阅读 · 0 评论