![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
ilibaba
这个作者很懒,什么都没留下…
展开
-
Facade 模式
Facade外观模式,是一种结构型模式,它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。在这里我想举一个例子:比如,现在有一辆汽车,我们(客户程序)要启动它,那我们就要发动引擎(子系统1),使四个车轮(子系统2)转动。但是实际中我们并不需要用手推动车轮使其转动,我们踩下油门,此时汽车再根据一些原创 2009-01-10 11:18:00 · 1049 阅读 · 0 评论 -
Singleton 单例模式
单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。 特点: 1,一个类只能有一个实例 2,自己创建这个实例 3,整个系统都要使用这个实例 例:在下面的对象图中,有一个"单例对象",而"客户甲"、"客户乙"和"客户丙"是单例对象的三个客户对象。可以看到,所有的客户对象共享一个单例对象。而且从单例对原创 2009-01-10 11:19:00 · 769 阅读 · 0 评论 -
Bridge 桥接模式
1.意图:将抽象化与实现化脱耦,使得两者可以独立地变化。2.类图: 3.原理:强关联:编译时期已经确定,无法在运行时期动态更改的关联。弱关联:可以动态确定并在运行时期动态更改的关联。继承关系是强关联,聚合关系是弱关联。桥接模式中的所谓脱耦,就是指在一个软件系统的抽象化和实现化之间使用合成/聚集关系而不是继承关系,即将强关联原创 2009-01-10 11:20:00 · 485 阅读 · 0 评论 -
Composite组合模式
一、引子在大学的数据结构这门课上,树是最重要的章节之一。还记得树是怎么定义的吗?树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:(1) 有且仅有一个特定的称为根(Root)的结点;(2) 其余的结点可分为m(m≥0)个互不相交的子集Tl,T2,…,Tm,其中每个子集本身又是一棵树,并称其为根的子树(SubTree)。上面给出原创 2009-01-10 11:21:00 · 891 阅读 · 0 评论