![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
23种设计模式
倒骑驴走着瞧
不积跬步无以至千里
展开
-
面向对象的六大原则
单一职责原则(single responsibility principle)——优化代码的第一步 小明写的图片加载框架中将各个功能拆分,将Image’Loader一分为二,ImageLoader只负责图片的加载逻辑,ImageCache只负责图片的缓存逻辑;这样ImageLoader的代码量少了,逻辑也清晰了 开闭原则(open close principle)——让程序更稳定、更灵活 软...原创 2019-11-09 22:59:14 · 107 阅读 · 0 评论 -
单例模式
单例模式介绍 单例模式是应用最广的模式之一,也可能是很多初级工程师唯一会使用的设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统整体的行为。如在一个应用中,应该只有一个ImageLoader实例,这个ImageLoader中又含有线程池、缓存系统、网络请求等,很消耗资源,因此,没有理由让它构造多个实例。这种不能自由构造...原创 2018-10-29 00:04:46 · 162 阅读 · 0 评论 -
策略模式
策略模式 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 介绍 意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决:在有多种算法相似的情况下,使用 ...原创 2018-12-23 19:51:27 · 151 阅读 · 1 评论 -
模板模式
模板模式 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 介绍 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 主要解决:一些方法通用,却在每一个子类都重新写了这一...原创 2018-12-23 23:34:23 · 139 阅读 · 1 评论