软件开发基础_设计模式

软件开发基础_设计模式

ID:5568703

大小:3.15 MB

页数:37页

时间:2017-11-13

软件开发基础_设计模式_第1页
软件开发基础_设计模式_第2页
软件开发基础_设计模式_第3页
软件开发基础_设计模式_第4页
软件开发基础_设计模式_第5页
资源描述:

《软件开发基础_设计模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设计模式(Designpattern)设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。1设计模式(Designpattern)GoF(“四人帮”GangofFour,指ErichGamma,RichardHelm,RalphJohnson&JohnVli

2、ssides四人)的《设计模式》(1995年出版)是第一次将设计模式提升到理论高度,并将之规范化。提出了23种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。2创建型模式...1.AbstractFactory..2提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。2.Builder2将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。3.FactoryMethod..3定义一个用于创建对象的接口,让子类决定实例化哪一个类。使一个类

3、的实例化延迟到其子类。4.Prototype..3用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。5.Singleton.3保证一个类仅有一个实例,并提供一个访问它的全局访问点结构型模式...1.Adapter.4将一个类的接口转换成客户希望的另外一个接口。2.Bridge..4将抽象部分与它的实现部分分离,使它们都可以独立的变化。3.Composite..5将对象组合成树形结构以表示“部分-整体”的层次结构。4.Decorator.5动态地给一个对象添加一些额外的职责。5.Fa?ade..

4、6为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。6.Flyweight.6运用共享技术有效地支持大量细粒度的对象。7.Proxy..7为其它对象提供一种代理以控制对这个对象的访问。3行为模式...1.ChainofResponsibility.7使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。2.Command.7将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤

5、消的操作。3.Interpreter.8给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语句中的句子。4.Iterator8提供一种方法顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示。5.Mediator8用一个中介对象来封装一系列的对象交互。6.Memento..9在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。7.Observer9定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自

6、动更新。8.State..9允许一个对象在其内部状态改变时改变它的行为。9.Strategy.10定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。10.TemplateMethod..10定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。11.Visitor.10表示一个作用于某对象结构中的各元素的操作。本文来自CSDN博客:http://blog.csdn.net/esidemayi/archive/2007/12/05/1918665.aspx4概述在软件构建过程中,我们需要为某些

7、对象建立一种“通知依赖关系”——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。[GOF《设计模式》]5观察者模式观察者模式(有时又被称为发布/订阅模式)是软体设计模式的一种。在此种模式中,一个目标物件管理所有相依于它

8、的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来事件处理系统。Java和c#的事件处理机制就是采用此种设计模式。6观察者模式观察者模式7气象监控应用系统概观系统有三个部分:气象站—获取实际气象数据的物理设备气象数据对象—跟踪气象站的数据,并更新布告板布告板—向用户显示当前的目前状况(温度、湿度、气压)或气象统计或天气预报8Weather对象知道如何跟物理气象站联系

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。