java设计模式:综述Java设计模式

        自从J2EE出现以来就大大简化了在Java下企业级开发但是随着J2EE越来越普遍地被应用到各个领域中开发者们渐渐意识到需要种思路方法来标准化应用开发过程他们采用思路方法是标准化应用结构层在结构层通常封装了些独立于业务逻辑复杂技术以便在业务逻辑和底层架构的间建立起弱连接在本文中将会介绍些设计模式通过利用这些设计模式开发人员可以达到标准化和简化应用开发过程   应用结构和J2EE

  J2EE是个很成功技术它为些基本任务提供了标准例如数据库连接、分布式应用但是使用J2EE并不能保证开发人员开发出成功应用有些人认为J2EE本身就是种框架技术但是这种认识是不正确我们应该意识到J2EE并没有提供个能够帮助开发人员开发出高质量应用框架因此很多有经验开发人员通过利用设计模式来弥补这缺项

  设计模式

  在开发人员圈子中大家通过相互交流在开发过程中所遇到问题以及解决思路方法来丰富整个圈子经验而设计模式就是在这样情况下产生个设计模式必然是针对某个特定问题这个问题解决方案以及这样解决问题产生后果在解决利用J2EE进行开发中出现问题过程中人们把设计模式分为两类种是通用开发模式种是为了解决特定J2EE问题模式下面让我们来看看每种类型开发模式都包含了哪些内容

  J2EE设计模式

  J2EE设计模式在过去几年中随着Java开发人员经验不断成长而发展这些设计模式是针对使用各种J2EE技术时可能出现问题提出它们能够帮助开发人员构造出应用框架要求例如Front Controller(前端Control控件)模式将servlet代码开发转化为在图形用户界面下开发但是需要记住J2EE设计模型解决了那些在J2EE项目中最可能出现问题如果你在J2EE遇到问题很特殊很有可能没有相应设计模型来解决它

  软件Software开发设计模式

  软件Software开发设计模式又被分为两种种是通用面向对象设计模式例如工厂(Factory)模式是种面向对象设计模式它将对象创建封装起来使对象能够重用这样就可以减少占用系统资源而另种是基于Java设计模式这些设计模式要么是和Java语言特性结合得很紧要么是面向对象技术在Java中深化不要以为软件Software设计模式相对独立于J2EE就认为它们不重要通常它们比J2EE设计模式更重要这是:

  1)J2EE设计模式是近几年才出现并且在不断变化而软件Software开发设计模式经过了长时间考验比前者更加成熟和完善;

  2)有些J2EE设计模式是建立在某些软件Software开发设计模式的上;

  3)软件Software开发模式为J2EE设计模式提供了坚实基础应用将影响到整个结构稳定性和可扩充性

  在实际应用中设计模式并不是段具体代码设计模式通常是在设计介绍说明书中描述将设计模式应用到系统中真正挑战在于如何在系统中应用模式中思想这些思想必须被应用到恰当环境中

  根据设计模式所解决问题又可以分为以下几个类型:

  · 创建类型:创建类型模式都是用于创建类例子但是和通过来创建例子区别这些模式提供了更加灵活方式能够根据特定情况创建特定

  · 结构类型:结构类型模式帮助开发人员将简单对象组合在起以后更加复杂结构

  · 行为类型:行为类型模式帮助开发人员控制类的间通讯

  创建类型模式

  所有创建类型模式都和如何有效地创建类例子相关在Java中如果开发人员要生成个类例子最简单思路方法是使用关键字:

  MyFoo = Foo; // 生成个Foo例子

  这种思路方法只能够在中生成固定但是在很多情况下需要根据区别情况生成区别例子这就需要将例子生成过程抽象到个特殊创建类中由该类在运行时决定生成哪种类例子这样使得有更好灵活性和通用性

  创建类型模式包括:

  · 工厂模式(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 Pattern):模板模式提供了对算法抽象定义

  · 策略模式(Strategy Pattern): 策略模式定义了组算法将每个算法都封装起来并且使它们的间可以互换策略模式使这些算法在客户端它们时候能够互不影响地变化

  · 访问者模式(Visitor Pattern):访问者模式通过个访问类来访问其他类中数据

  · 状态模式(State Pattern):状态模式将个类例子变量保存在独立内存空间中

  · 迭代模式(Iterator Pattern):迭代模式在不知道数据内部表现形式前提下通过标准接口来遍历数据集合中数据

TAG: J2EE

Tags:  java的设计模式 java设计模式chm java设计模式pdf java设计模式

延伸阅读

最新评论

发表评论