evo

自强不息,厚德载物 ii 无人驾驶fans ^_^ Making others better! Making life better!

【UML】UML常见的几种视图

如果说UML是一种语言,那么UML的基本词汇包括参与者、用例、边界、类、包、组件、节点等,而UML视图便是其语法,将基本元素组织起来,形成有意义的句子。如果说UML是一种语言,那么其最大的特征就是可视化,一种可视化语言,几种不同的视图从不同的角度展示了软件产品的方方面面的特征。UML视图分为两类,...

2017-03-26 13:57:15

阅读数:1994

评论数:0

【设计模式】行为模式之Visitor访问者

Visitor访问者是一种对象行为型设计模式,用于表示一个作用于某对象结构中的各元素的操作,使得可以在不改变各元素的类的前提下定义作用于这些元素的新操作。使用Visitor模式, 必须定义两个类层次,一个对应于接受操作的元素,另一个对应于定义对元素的操作的访问者,给访问者类层次增加一个新的子类即可...

2016-09-04 10:07:10

阅读数:395

评论数:0

【设计模式】行为模式之Template Method模板方法

Template Method模板方法是一种类行为型设计模式,目的是定义一个操作中的算法的骨架,而将一些步骤延迟到之子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。一个模板方法用一些抽象的操作定义一个算法,而子类将重定义这些操作以提供具体的行为。Template Metho...

2016-09-04 09:23:06

阅读数:362

评论数:0

【设计模式】行为模式之Strategy策略

Strategy策略是一种对象行为型设计模式,目的是定义一系列的算法,把它们一个一个封装起来,并且使它们可相互替换,算法可独立于使用它的客户而变化。一个常见的应用是文本编辑器,其中有许多算法对一个正文流进行分析,将这些算法硬编进使用它们的类中是不可取的,因为需要换行功能的客户程序如果直接包含换行算...

2016-09-03 08:49:49

阅读数:401

评论数:0

【设计模式】行为模式之State状态

State状态是一种对象行为型设计模式,目的是允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。如果一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为,就可以使用State模式;或者一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态,也可以...

2016-09-03 07:29:27

阅读数:408

评论数:0

【设计模式】行为模式之Observer观察者

Observer观察者是一种对象行为型设计模式,目的是定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。在进行系统设计时,通常会将一个系统分割成一系列相互协作的类,模块化,降低耦合性,但这有一个常见的副作用,需要维护相关对象间的一致性,我们不希望为了...

2016-09-02 07:15:12

阅读数:486

评论数:0

【设计模式】行为模式之备忘录Memento

备忘录Memento是一种对象行为型设计模式,目的是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态。有时有必要记录一个对象的内部状态。为了允许用户取消不确定的操作或从错误中恢复过来,需要实现检查点和取消操作,而要实现这些机制,必...

2016-09-01 07:23:15

阅读数:443

评论数:0

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

中介者Mediator是一种对象行为型设计模式,目的是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。在传统的面向对象设计过程中,通常将行为分布到各个对象中以增强可复用性,但随之也增加了对象间的相互连接,如果相互连接过多...

2016-08-28 21:04:37

阅读数:612

评论数:0

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

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

2016-08-27 16:32:04

阅读数:584

评论数:0

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

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

2016-08-27 09:12:14

阅读数:701

评论数:0

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

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

2016-08-21 21:59:45

阅读数:566

评论数:0

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

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

2016-08-21 13:55:24

阅读数:583

评论数:0

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

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

2016-08-21 10:50:03

阅读数:521

评论数:0

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

Flyweight是一种对象结构型设计模式,意在运用共享技术有效地支持大量细粒度的对象,对那些通常因为数量太大而难以用对象来表示的概念或实体进行建模。flyweight作为共享对象,可以同时在多个场景中使用,并且在每个场景中都可以作为一个独立的对象,这一点与非共享对象的实例没有区别。flyweig...

2016-08-20 10:45:02

阅读数:586

评论数:0

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

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

2016-08-13 13:13:23

阅读数:391

评论数:0

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

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

2016-08-09 21:11:06

阅读数:472

评论数:0

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

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

2016-08-07 17:46:09

阅读数:662

评论数:3

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

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

2016-08-07 11:21:34

阅读数:419

评论数:0

【设计模式】结构型模式之适配器Adaptor

适配器Adaptor是一种结构型设计模式,目的是把一个类的接口转换成客户希望的另外一个接口,对接口进行包装,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。设想这么几种情况,当我们想使用一个已经存在的类,而这个类的接口不符合需求时,或者当我们想创建一个可以复用的类,这个类可以与其它不相关...

2016-07-31 17:37:53

阅读数:618

评论数:0

【设计模式】创建型模式之原型Prototype

原型Prototype是一种创建型设计模式,意在用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型Prototype是一种创建型设计模式,意在用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。当一个系统应该独立于它的产品创建、构成和表示时,或者当要实例化的类是运行时...

2016-05-29 20:38:17

阅读数:679

评论数:0

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