
设计模式
文章平均质量分 73
attention!
新丰美酒斗十千,咸阳游侠多少年。相逢意气为君饮,系马高楼垂柳边。
展开
-
单例模式
1. 定义 **单例模式:**确保一个类只有一个实例,并提供一个全局访问点。 按照定义来看,也可以设置一个全局变量,同样能实现要求,但是全局变量却存在问题,如果将对象赋值给一个全局变量,那么必须在程序一开始就创建好对象,万一这个对象非常耗费资源,而程序在这次的执行过程中又一直没有用到它,就形成浪费了。 2. 用处 有一些对象只需要一个,例如配置文件,工具类,线程池,缓存,日志对象等等。单例模式...原创 2020-03-06 20:49:28 · 259 阅读 · 0 评论 -
浅谈装饰者模式+JAVA I/O中的装饰者模式
浅谈装饰者模式+JAVA I/O中的装饰者模式原创 2018-09-15 22:44:28 · 1295 阅读 · 0 评论 -
再谈装饰者模式(总结)
在之前的文章 浅谈装饰者模式+JAVA I/O中的装饰者模式 中,浅谈了一下装饰者模式,这篇文章来总结一下装饰者模式。 装饰者模式遵循开放-关闭原则,即,类应该对扩展开放,对修改关闭; 用运行时扩展来取代编译时继承; 解决了继承滥用的问题; 用对象组合的方式,做到在运行时装饰类,能够在不修改任何底层代码的情况下,给对象赋予新的职责。 尽管继承威力强大,继承并不总是实现最有弹性和最好维护的设计。 ...原创 2018-12-11 14:46:48 · 172 阅读 · 0 评论 -
工厂模式01之简单工厂
概念 简单工厂可以理解为,定义一个工厂类,根据传入的参数不同而返回不同的实例,这些实例通常有共同的父类。 虽然简单工厂经常会被使用,但是并不能算作是一种设计模式,反而更像是一种编程习惯。 提出问题 当我们创建产品类对象时,会使用到new操作符,但是代码绑着具体类的实例会导致代码更脆弱,更缺乏弹性。 实例化这个活动不应该总是公开的进行。 否则一旦有变化或扩展,就必须重新打开这段代码进行检查和修改。 ...原创 2018-12-17 20:14:28 · 191 阅读 · 0 评论 -
工厂模式02之工厂方法模式
参考:Head First设计模式 概述 简单工厂模式实现了生成产品类的代码与客户端代码分离,在工厂类中可以添加生成产品的逻辑代码。 但是简单工厂模式不符合“开放-封闭”原则。例如要加一个 新产品类,就要修改 工厂类 生成产品的逻辑代码,增加if-else判断。对于这个问题,工厂方法模式可以解决。 定义 工厂方法模式 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂...原创 2018-12-18 14:11:23 · 207 阅读 · 0 评论