在web应用中常用的设计模式
推荐几个做应用常用的设计模式:策略模式、代理模式、装饰器模式、状态模式、工厂模式、单态模式、Template模板模式。为什么推荐这几个呢,因为对于我来讲,这几个是最经常用到的。下面我来讲讲这几个模式在我的开发设计过程中的应用场景:
策略模式:主要用于动态替换不通的算法或者执行流程
代理模式:这个不用多说,控制对被代理对象的访问,例如权限控制等,经常使用,它的主要作用是代理了被代理对象的行为,从中可以进行很多控制。
装饰器模式:动态的为对象增加功能,不必写很多子类来添加功能,灵活方便,JAVAIO实现就采用了这个模式。
状态模式:处理订单的状态时经常用到,我涉及到的订单状态一般都是10多个,状态转换相对比较复杂,以前通过if else对状态进行处理,任何人都重复这个过程,的确不爽,改用状态模式后,效率的确提高不少 EVENT-DRIVEN-STATE,呵呵
工厂模式:创建对象,不说了
单态模式:在一个JVM中保持一个实例,全局共享,Spring默认就是单态。
Template模式:将算法骨架在父类中实现,而在子类中增加一些特有的方法即可,例如数据库访问中需要获取连接,打开、关闭链接等等,都可以采用这种模式进行简化