设计模式概述

        具有一定的编程基础的程序员都会有意识的去让自己的代码紧凑并且做到可扩充的前提下少改动,主要是借鉴前人的经验,从而产生了设计模式;

       设计模式的作用:提供前人的经验供开发者们借鉴,目的是为了提高代码质量、提高软件设计和系统架构能力。

               

   分类:(1)侧重点是代码的Gof23经典设计模式

              (2)侧重点是系统架构的J2EE设计模式

       二者虽然角度不同,但其本质相同,从更高的层次来说,应该是 统一在 从业务需求的角度 进行软件设计 的理念中。

gof23的设计模式大致可分为如下三类:

创建模式:是对类的动态地实例化过程的抽象。包括:工厂模式,单例多例模式,建造模式,原始模型模式;

结构模式:是描述如何将类或者对象结合起来在一起形成更大的结构。包括:适配器模式,合成模式,装饰模式,代理模式,享元模式,门面模式,桥梁模式;

行为模式:是在不同的对象之间划分责任和算法的抽象。包括:不变模式,策略模式,模板模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,解释器模式,调停者模式;

在J2EE核心设计模式中,主要讲述使用Servlet、JSP、EJB、JMS 、JDBC、JNDI这几种技术规范对系统进行构建的经验,并且强调每种模式在系统中并不是独立存在的而是相互关联的。

特性:

  • 来源于前人经验的分享。
  • 通过结构化的记录进行积累。
  • 某种模式出现的意义是为了避免重新设计,少走弯路。
  • 对于相同部分的设计进行不同程度的抽象。
  • 可以经过不断的完善进行重新的组合。
  • 多个模式可以在同一系统中进行使用。
  • 让系统设计更简单,降低复杂度。
  • 让系统可以达到最大化的复用。

场景:
        任何设计模式,包括Sun提出的J2EE核心设计模式,还有4人帮提出的gof23的设计模式只能作为开发中的一种手段和工具,还需要开发者自己对系统、对需求、对业务场景有详细的了解,所以在使用J2EE核心设计模式之前有些前提条件,例如:

  • 确定当前的应用场景。
  • 确定运行当前的业务场景的前提条件。
  • 界定系统中每个用户角色的权限范围。
  • 与上层模块,上层系统的关联性关系。

另外,不管在任何情况下使用J2EE核心设计模式有一个规则,这个规则由三部分组成,分为: 特定环境、特定系统作用、特定软件配置之间的关系。

 

 

          

你可能感兴趣的:(设计模式概述)