软件设计模式之我见_第1页
软件设计模式之我见_第2页
软件设计模式之我见_第3页
软件设计模式之我见_第4页
软件设计模式之我见_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/5软件设计模式之我见软件设计模式之我见软件设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。软件设计模式主要分为创建型模式、结构型模式、行为型模式三种,其中创建型模式用来处理对象的创建过程,结构型模式用来处理类或对象的组合,行为型模式用来对类或对象怎样交互和怎样分配职责进行描述。1、设备软件系统的特点为增加新的处理新工艺变化而需要的功能,我们会修改设备软件的主程序或部分组件源代码,这样不仅修改代码量比较大,延误了软件更新的及时性要求,而且降低了原软件系统的可靠性,为设备的使用留下隐患对于为修改工艺方法发生的软件系统的改动,则对应的设备软件的主程序修要修改的部分大大增加,甚至更改程序的主框架,使程序不易扩展,造成程序的可移植性大大的降低,不利于系统的升级,增加维护成本,因此,我们引入了设计模式的概念。2、设计模式的分类创建型模式2/5创建型模式用来处理对象的创建过程,主要包含以下5种设计模式抽象工厂模式、生成器模式、工厂方法模式、原型模式、单例模式。ABSTRACTFACTORY是应对一系列对象的创建的问题,正如前面文章中举的例子,对于创建一个汽车对象来说,ABSTRACTFACTORY模式更关注一系列的对象的创建,或者说是汽车类型中的各个部分,如WHEEL、ENGINE、BODY等等类型的创建。换句话说关注点在这一系列对象上。BUILDER是应对一个复杂对象创建的问题,或者说是针对这个复杂对象中的子对象的创建的问题。以汽车的例子来说,我觉得比起ABSTRACTFACTORY模式,BUILDER模式相对注重汽车类型本身以及其各个部分类型的创建。BUILDER模式要本文由论文联盟HTTP/收集整理求这个复杂的类型中的各个子类型的结合部分相对稳定,用例子说明就是对于汽车来说,无论用什么配件组装,个个配件的组装方式都一样,有相对稳定的接口。对于这辆车你用什么牌子的WHEEL、什么牌子的ENGINE可能变化会很大很频繁。行为型设计模式行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含11种设计模式。允许多个类处理同一个请求,而不必了解彼此的功能。他在类之间提供一个松散的耦合。类之间唯一的联系就是相互之间的传递请求。3/5请求在类之间传递,直到其中一个类处理它为止。当一个对象向多个对象发送相同的信息时,就需要一种策略来确定由哪个对象对所发送的信息进行处理,而这样的处理对象也只能有一个。使用CASE语句或IF语句的方法会给程序的维护带来很大难度,这就需要职责链模式来完成。职责链模式将发送对象和接收对象进行了解耦,以更好的应对变化。职责链模式将接收对象形成一个链,发送对象将信息发送给接收对象链中的一个对象,这时,信息就沿着对象链向下传送,直到有一个对象对信息进行处理。结构型模式结构型设计模式是从程序的结构上解决模块之间的耦合问题。包括以下七种模式ADAPTE适配器模式ADAPTER模式通过类的继承或者对象的组合侧重于转换已有的接口,类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。对象适配器采用“对象组合”的方式,更符合松耦合精神。BRIDGE桥接模式将抽象部分与实现部分分离,使它们都可以独立的变化。减少因变化带来的代码的修改量。COMPOSITE组合模式将对象组合成树形结构以表示“部分整体”的层次结构。COMPOSITE模式使得客户对单个对象和组合对象的使用具有一致性。从而解决了解决客户程序与复杂对象容器的解耦,即通过继承统一的接口,我们可以将容器对象及其子对4/5象看成同一类对象使用,以减少对象使用中的复杂度。DECORATOR装饰模式动态地给一个对象添加一些额外的职责。就增加功能来说,DECORATOR模式相比生成子类更为灵活。DECORATOR模式采用对象组合而非继承的手法,实现了在运行时动态的扩展对象功能的能力,而且可以根据需要扩展多个功能,避免了单独使用继承带来的“灵活性差”和“多子类衍生问题”。同时它很好地符合面向对象设计原则中“优先使用对象组合而非继承”和“开放封闭”原则。FACADE外观模式为子系统中的一组接口提供一个一致的界面,简化接口。FLYWEIGHT享元模式运用共享技术有效地支持大量细粒度的对象。面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题。但是在某些情况下,对象的数量可能会太多,从而导致了运行时的代价。那么我们如何去避免大量细粒度的对象,同时又不影响客户程序使用面向对象的方式进行操作。PROXY代理模式为其他对象提供一种代理以控制这个对象的访问。解决直接访问某些对象是出现的问题。从代码的角度看ADAPTER适配器模式和PROXY代理模式有些类似,前者是解决现有对象在新的环境中所遇到的问题,后者是解决直接访问对象时出现的问题,这两种模式从使用角度看都是解决直接访问对象时出现的问题,只

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论