赞
踩
Java设计模式是指一些可重复使用的解决方案,这些解决方案可以在各种不同的情况下提高代码的可重用性、可维护性和可靠性。
1. 创建型模式:
创建型模式主要解决的是对象创建的问题,它共包括了五种模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式和原型模式。
工厂方法模式是一种普通工厂模式,它建立一个工厂类,对实现了同一接口的一些类进行实例的创建。抽象工厂模式则是对多个工厂进行抽象,从而创建多个产品族。单例模式则是保证一个类只有一个实例,并且提供一个全局访问点。建造者模式则是通过将一个复杂对象的建造过程和表示过程分离,使得同样的构建过程可以创建不同的表示。原型模式则是通过复制已有实例来创建新的实例。
2.结构型模式:
结构型模式主要解决的是如何组合类和接口的问题,它共包括了七种模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式和享元模式。
适配器模式通过将一个类的接口变换为另一个接口,使得原本由于接口不兼容而无法协同工作的类能够一起工作。装饰器模式则是通过动态的添加或修改方法,来增强或限制类的功能。代理模式则是通过将一个对象代理给另一个对象,来实现对原始对象的控制或增强。外观模式则是通过将一个类的接口变换为另一个接口,使得子系统中的一组接口可以以一个更简单的接口呈现给其他系统。桥接模式则是通过将抽象部分和实现部分分离,使得它们可以独立变化。组合模式则是通过允许递归的组合类的方式来组合对象。享元模式则是通过共享相同或相似的对象,来避免重复创建对象。
3.行为型模式:
行为型模式主要解决的是对象的行为问题,它共包括了十一种模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式和解释器模式。
策略模式通过定义一系列算法,并将每一个算法封装起来,从而可以在不改变使用算法的客户的情况下更换算法。模板方法模式则是定义了一个操作的框架,允许子类在不改变框架结构的情况下重定义某些步骤的具体内容。观察者模式则是定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象状态发生改变时,会通知其所有依赖者。迭代子模式则是定义了一个迭代器接口,以访问聚合对象的元素,而不是访问聚合对象的内部表示。责任链模式则是将一组处理请求的对象组成一个链表,并让请求在链表上传递,从而实现对请求的灵活处理。命令模式则是将请求或操作封装成一个对象,从而让发出请求的一方和接收请求的一方解耦。备忘录模式则是封装一个复杂对象的内部状态,并在需要的时候恢复到先前的状态。状态模式则是允许一个对象在其内部状态改变时改变它的行为,使得对象看起来就像改变了它的类。访问者模式则是将数据结构与数据操作分离,让操作集合可以相对自由地演化。中介者模式则是通过引入一个中介者对象来简化对象之间的交互,使得对象之间的通信变得简单。解释器模式则是定义了一个领域特定语言的文法,并使用一个解释器来解释这个文法。
以上就是Java设计模式的三大类及其各自包含的模式,这些设计模式的合理使用可以帮助我们更好地设计和编写代码。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。