wordpress 站内消息,开发一个网站需要多少时间,php部署网站,网站制作网站搭建2019独角兽企业重金招聘Python工程师标准 由于[GOF95]是论述软件模式的著作的第一本#xff0c;也是OO设计理论著作中最流行的一本#xff0c;因此有些人常常使用设计模式#xff08;Design Pattern#xff09;一词来指所有直接处理软件的架构、设计、程序实… 2019独角兽企业重金招聘Python工程师标准 由于[GOF95]是论述软件模式的著作的第一本也是OO设计理论著作中最流行的一本因此有些人常常使用设计模式Design Pattern一词来指所有直接处理软件的架构、设计、程序实现的任何种类的模式。另外一些人则强调要划分三种不同层次的模式架构模式(Architectural Pattern)、设计模式(Design Pattern)、成例(Idiom)。成例有时称为代码模式(Coding Pattern)。 这三者之间的区别在于三种不同的模式存在于它们各自的抽象层次和具体层次上。架构模式是一个系统的高层次策略涉及到大尺度的组件以及整体性质和力学。架构模式的好坏可以影响到总体布局和框架性结构。设计模式是中等尺度的结构策略。这些中等尺度的结构实现了一些大尺度组件的行为和它们之间的关系。模式的好坏不会影响到系统的总体布局和总体框架。设计模式定义出子系统或组件的微观结构。代码模式或成例是特定的范例和与特定语言有关的编程技巧。代码模式的好坏会影响到一个中等尺度组件的内部、外部的结构或行为的底层细节但不会影响到一个部件或子系统的中等尺度的结构更不会影响到系统的总体布局和大尺度框架。 代码模式或成例(Coding Pattern 或 Idiom) 代码模式或成例是较低层次的模式并与编程语言密切相关。代码模式描述怎样利用一个特定的编程语言的特点来实现一个组件的某些特定的方面或关系。 较为著名的代码模式的例子包括双检锁Double-Check Locking模式等。 设计模式(Design Pattern) 一个设计模式提供一种提炼子系统或软件系统中的组件的或者它们之间的关系的纲要设计。设计模式描述普遍存在的在相互通讯的组件中重复出现的结构这种结构解决在一定的背景中的具有一般性的设计问题。 设计模式常常划分成不同的种类常见的种类有 创建型设计模式如工厂方法Factory Method模式、抽象工厂Abstract Factory模式、原型Prototype模式、单例Singleton模式建造Builder模式等 结构型设计模式如合成Composite模式、装饰Decorator模式、代理Proxy模式、享元Flyweight模式、门面Facade模式、桥梁Bridge模式等 行为型模式如模版方法Template Method模式、观察者Observer模式、迭代子Iterator模式、责任链Chain of Responsibility模式、备忘录Memento模式、命令Command模式、状态State模式、访问者Visitor模式等等。 以上是三种经典类型实际上还有很多其他的类型比如Fundamental型、Partition型Relation型等等 设计模式在特定的编程语言中实现的时候常常会用到代码模式。比如单例Singleton模式的实现常常涉及到双检锁Double-Check Locking模式等。 架构模式(Architectural Pattern) 一个架构模式描述软件系统里的基本的结构组织或纲要。架构模式提供一些事先定义好的子系统指定它们的责任并给出把它们组织在一起的法则和指南。有些作者把这种架构模式叫做系统模式[STELTING02]。 一个架构模式常常可以分解成很多个设计模式的联合使用。显然MVC模式就是属于这一种模式。MVC模式常常包括调停者Mediator模式、策略Strategy模式、合成Composite模式、观察者Observer模式等。 此外常见的架构模式还有 ·Layers分层模式有时也称Tiers模式 ·Blackboard黑板模式 ·Broker中介模式 ·Distributed Process分散过程模式 ·Microkernel微核模式 架构模式常常划分成如下的几种 一、 From Mud to Structure型。帮助架构师将系统合理划分避免形成一个对象的海洋A sea of objects。包括Layers分层模式、Blackboard黑板模式、Pipes/Filters管道/过滤器模式等。 二、分散系统Distributed Systems型。为分散式系统提供完整的架构设计包括像Broker中介模式等。 三、人机互动Interactive Systems型支持包含有人机互动介面的系统的架构设计例子包括MVCModel-View-Controller模式、PACPresentation-Abstraction-Control模式等。 四、Adaptable Systems型支持应用系统适应技术的变化、软件功能需求的变化。如Reflection反射模式、Microkernel微核模式等。 转载于:https://my.oschina.net/u/1398304/blog/311631