软件开发设计模式

转载 2016年08月30日 14:41:06

> 软件开发设计模式:通用的面向对象设计模式(如工厂模式);基于Java的设计模式(如J2EE设计模式)

·创建类型:创建类型的模式都是用于创建类的实例。但是和通过new来创建实例不同,这些模式提供了更加灵活的方式,是程序能够根据特定的情况创建特定的类。 

·结构类型:结构类型的模式帮助开发人员将简单对象组合在一起以后的更加复杂的结构。 
·行为类型:行为类型的模式帮助开发人员控制类之间的通讯。 

> 创建类型的模式:所有创建类型的模式都和如何有效地创建类的实例相关。
· 工厂模式(Factory Pattern):根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,而这一组类有一个公共的抽象父类。 
· 抽象工厂模式(Abstract Factory Pattern):抽象工厂模式也可以根据提供的数据生成一组类中某一个类的实例,而这一组类有一个公共的抽象父类。只不过它定义的是一个接口。 
· 构造者模式(Builder Pattern):构造者模式将一个复杂对象的构造过程和它的表现层分离开来,这样类就可以根据不同情况展现出不同的表现方式。 
· 原型模式(Prototype Pattern):原型模式通过对类的实例进行拷贝来创建新的实例。 
· 单例模式(Singleton Pattern):根据单一模式实现的类只允许有一个是类,并且提供了一个全局指针来引用该实例。 

> 结构类型的模式:结构类型的模式将类和对象组合起来,以构成更加复杂的结构。它又被划分为类模式和对象模式。类模式和对象模式之间的区别在于类模式通过继承关系来提供有效的接口;而对象模式通过对象合成或将对象包含在其它对象中的方式构成更加复杂的结构。
· 适配器模式(Adapter Pattern):适配器模式可以将一个类的接口和另一个类的接口匹配起来。 
· 桥梁模式(Bridge Pattern):桥梁模式对客户端程序提供一个固定的接口,但是允许开发人员变化实际的实现类。这样开发人员就可以将接口是具体的实现类分离开来。 
· 组合模式(Composite Pattern):复合模式可以将多个对象进行复合,其中的每个对象可以是简单对象,也可以是复合对象。 
· 代理模式(Proxy Pattern):代理模式利用一个简单的对象替代一个复杂的对象,当复杂对象在需要的时候才会被加载到系统中,这样可以节约系统资源,提高系统的响应速度。在网络环境中这种模式很有用处。 
· 装饰者模式(Decorator Pattern):通过修饰模式,开发人员可以在运行时将特定的功能绑定在对象上。 
· 享元模式(Flyweight Pattern):轻量模式通过将对象中的一部分数据保存在对象外,在调用对象中的方法时再将这些数据传回对象。这样做可以减少大量比较简单的对象占用的空间。 
· 门面模式(Facade Pattern):正面模式将复杂的类层次结构组织起来,通过一个简单的接口来获得层次结构中的数据。 

> 行为类型的模式:行为类型的模式主要是那些处理对象之间通讯的模式,该类型的包括以下模式: 
· 观察者模式(Observer Pattern):观测者模式可以在发生变化时将变化通知多个类。 
· 调停者模式(Mediator Pattern):中介模式可以通过一个中间类来控制若干个类之间的通讯,并且这些类相互之间不需要了解对方的信息。 
· 备忘录模式(Memento Pattern):回忆模式可以在不破坏对象封装性的前提下保存和恢复对象的内部状态。 
· 责任链模式(Chain of Responsibility):职责链模式将请求传递给一组对象,只有特定的对象才会处理该请求。这样就进一步削弱类之间的联系。 
· 命令模式(Command Pattern):命令模式将请求传递给特定的对象,这样客户端即使在不知道服务器端如何处理请求的情况下也可以发送请求。 
· 模板方法模式(Template Method Pattern):模板模式提供了对算法的抽象定义。 
· 策略模式(Strategy Pattern): 策略模式定义了一组算法,将每个算法都封装起来,并且使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。 
· 访问者模式(Visitor Pattern):访问者模式通过一个访问类来访问其他类中的数据。 
· 状态模式(State Pattern):状态模式将一个类实例的变量保存在独立的内存空间中。 
· 迭代子模式(Iterator Pattern):迭代模式在不知道数据的内部表现形式的前提下,通过标准的接口来遍历数据集合中的数据。 
举报

相关文章推荐

java常用设计模式

设计模式; 一个程序员对设计模式的理解: “不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥...

从面向对象的设计模式看软件设计

原文作者:陈皓( 酷 壳 – CoolShell.cn) 原文链接:从面向对象的设计模式看软件设计 前些天发了一篇《如此理解面向对象编程》的文章,然后引起了大家的热议。然后我在微博上说了一...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

单件模式--软件设计模式

如果给对象开一个全局变量,那么必须在一开始就创建好对像,而这样会造成资源浪费,而单件模式则是在需要时才创建对象。 单件模式的定义:确保一个类只有一个实例,并提供一个全局访问点。建造全局访问点暂知此两种...

软件开发中可以排第一的模式

很多人谈设计模式,但就我观察和软件相关的模式中最牛的一个却被忽略了。这个模式不一定能用GoF的那类表述方式来描述,但却几乎可以在大多的成功产品中看到影子。 这个模式可以表述成:软件的架构要支持数据的开...

软件设计模式

简介 设计模式(英语 design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含...

软件设计模式

一般模式有4个基本要素:模式名称(pattern name)、问题(problem)、解决方案(solution)、效果(consequences)。 常见23种模式概述: 1) 抽象工厂...

软件设计模式

转自:http://blog.chinaunix.net/uid-26729065-id-3257282.html 在现代软件开发当中,设计模式起到至关重要的作用。尤其是自从面向对象的语言普遍使用以...

软件设计模式

快速应用程式开发 (原名:Rapid Application Development、缩写:RAD)是指一种以最小幅度的规划并迅速地将原形完成的软件发展方法论。采用RAD进行软件开发的规划是和撰写软件...

软件设计模式

来源: 李齐礼的日志 一般模式有4个基本要素:模式名称(pattern name)、问题(problem)、解决方案(solution)、效果(consequences)。 常见2...

软件设计模式

故纸堆里翻出来的收藏博文,稍作整理转载以作备忘。 -------------------------------------------------------------- 活用设计模式...
  • phunxm
  • phunxm
  • 2013-06-07 18:33
  • 1762
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)