自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 【设计模式】行为模式之中介者Mediator

中介者Mediator是一种对象行为型设计模式,目的是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。在传统的面向对象设计过程中,通常将行为分布到各个对象中以增强可复用性,但随之也增加了对象间的相互连接,如果相互连接过多,使得一个对象似乎不太可能在没有其他对象的支持下工作,整个系统表现为一个不可分割的整体,导致对系统的行为

2016-08-28 21:04:37 847

原创 【设计模式】行为模式之迭代器Iterator

迭代器Iterator是一种对象行为型设计模式,目的是提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示,例如C++中的容器及其迭代器,便是这种设计模式的一种体现。 使用迭代器模式,可用来访问一个聚合对象的内容而无需暴露它的内部表示,支持对聚合对象的多种遍历,为遍历不同的聚合结构提供一个统一的接口。如下是迭代器模式的结构图:上图中,Iterator迭代器定义访问和遍历元素的接

2016-08-27 16:32:04 856

原创 【设计模式】行为模式之解释器Interpreter

解释器Interpreter是一种类行为型设计模式,目的是给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。当有一个语言需要解释执行,并且可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式,最常见的问题便是搜索匹配问题,以及随之而产生的正则表达式引擎。解释器模式的结构如下图:上图中,AbstractExpression即抽象表达式,声明一个抽象的

2016-08-27 09:12:14 972

原创 【设计模式】行为模式之Command命令

Command命令是一种对象行为型设计模式,目的是将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化,而且对请求排队或记录请求日志,以及支持可撤销的操作。在面向过程语言中的回调机制,如C语言,先在某处注册回调函数,而后在某个需要的时候进行调用,Command模式便是这种回调机制的一个面向对象的替代品,抽象出待执行的动作以参数化某对象。Command模式还可以在不同的时刻指定、排列和执行

2016-08-21 21:59:45 879

原创 【设计模式】行为模式之Chain of Responsibility职责链

Chain of Responsibility职责链是一种对象行为型设计模式,目的是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定;或者你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求;或者可处理一个请求的对象集合应被动态指定

2016-08-21 13:55:24 902

原创 【设计模式】结构型模式之Proxy代理

Proxy代理是一种对象结构型设计模式,意在为其它对象提供一种代理以控制对这个对象的访问,对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。Proxy模式的结构如下图所示:上图中,Proxy保存一个引用使得代理可以访问实体,若RealSubject和Subject的接口相同,Proxy会引用Subject;Proxy提供一个与Subject的接口相同的接口,这

2016-08-21 10:50:03 804

原创 【设计模式】结构型模式之Flyweight

Flyweight是一种对象结构型设计模式,意在运用共享技术有效地支持大量细粒度的对象,对那些通常因为数量太大而难以用对象来表示的概念或实体进行建模。flyweight作为共享对象,可以同时在多个场景中使用,并且在每个场景中都可以作为一个独立的对象,这一点与非共享对象的实例没有区别。flyweight不能对它所运行的场景作出任何假设,这里的关键概念是内部状态和外部状态之间的区别。内部状态存储于fly

2016-08-20 10:45:02 912

原创 【设计模式】结构型模式之Facade外观

Facade外观是一种对象结构型设计模式,目的是为子系统中的一组接口提供一个一致的界面。Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。有时候我们将一个系统划分成若干个子系统以降低系统的复杂性,而子系统间的通信和相互依赖关系也要达到最小,尽量降低子系统间的耦合性,一个好用的方法就是引入一个Facade对象,为子系统中较一般的设施提供一个单一而简单的界面。Facade模式的结构

2016-08-13 13:13:23 613

原创 【设计模式】结构型模式之装饰器Decorator

装饰器Decorator是一种对象结构型设计模式,意在动态地给一个对象添加一些额外的职责,就增加功能来说,采用继承机制生成子类也可以,但Decorator模式更为灵活。例如,当我们想给一个组件添加额外的功能时,就把这个组件嵌入另一个对象中,由这个对象来完成任务,充当装饰者,它与被装饰的组件接口一致,因此对于使用该组件的客户是透明的。装饰器Decorator模式的结构如下类图所示:图中,Compone

2016-08-09 21:11:06 745

原创 【Bash百宝箱】repo init error - manifest xxx.xml not available

下载开源项目tizen-ivi源代码时,遇到了如下错误:$ mkdir /home/tizen-ivi $ cd /home/tizen-ivi $ repo init -u ssh://hjj@review.tizen.org:29418/scm/manifest -b tizen -m ivi.xml ... fatal: manifest 'ivi.xml' not available fat

2016-08-08 11:07:09 6713

原创 【设计模式】结构型模式之组合Composite

组合Composite是一种对象结构型设计模式,意在将对象组合成树形结构以表示部分与整体的层次结构,使得用户对单个对象和组合对象的使用具有一致性。当我们想表示对象的部分与整体层次结构时,或者希望用户忽略组合对象与单个对象的不同,能够统一地使用组合结构中的所有对象时,我们可以使用Composite模式。Composite模式的结构如下类图所示:上图中,Component为组合中的对象声明接口,在适当的

2016-08-07 17:46:09 909 3

原创 【设计模式】结构型模式之桥接Bridge

**桥接Bridge**是一种对象结构型设计模式,意在将抽象部分与它的实现部分分离,使它们都可以独立地变化。 Bridge模式的结构如下图所示: 上图中,Abstraction定义抽象类的接口,维护一个指向Implementor类型对象的指针;RefinedAbstraction扩充由Abstraction定义的接口;Implementor定义实现类的接口,该接口不一定要与Abstr

2016-08-07 11:21:34 691

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除