标签:多个 并且 交流 之间 style etc 算法 适配器模式 模式
这里就javaSE中常用的设计模式进行一个总结。
能够被重复利用的解决方案就是设计模式。
常用的设计模式有GOF设计模式和javaEE设计模式。
- 对象创建型 是在对象创建过程中的设计模式。例如:单例模式
- 结构型 是用更多的类,更多的方法、对象组建一个更大的结构。例如:适配器模式、装饰器模式
- 行为型 涉及到行为、算法的设计模式。例如:策略模式
- 集合中 迭代子模式、策略模式
策略模式:比较器互换体现了策略模式。在TreeSet中有两种方案实现排序。方案一是,在实体类中实现Comparable接口,重写compareTo方法,这种方法是一种侵入式的方法,并且每次修改比较规则时都需要对源代码进行修改,所以不推荐这种方法;方案二是,另外创建一个比较器类,实现Comparator接口,重写compare方法,采用这种方法可以创建多个比较器,需要使用哪个比较规则就传入哪个比较器到TreeSet中,这种比较器互换的思想正是体现了策略模式。
- io中 适配器模式、装饰器模式
适配器模式:在io中有很多地方体现了适配器模式。它的原理是:适配器模式是有一个超级接口,超级接口上有很多个抽象方法,有一个实现类只需要使用某个方法,如果直接实现超级接口的话,就需要将所有的方法全部实现,这种代码是非常丑陋的;这时候超级接口和实现类之间加一个适配器的抽象类,由适配器的抽象类去实现超级接口,将所有的方法实现了,只将实现类需要使用的方法设为abstract的,由实现类去继承适配器抽象类,这时候就只需要将适配器的抽象类实现了就可以了,这种代码是非常优雅的。除此之外,在servlet中也使用到了适配器设计模式,servlet的超级接口中有五个方法service、init、desotry、getServletInfo、getServletConfig,如果直接继承servlet接口就需要将这五个方法全部实现,而我们一般只使用service方法,所以在这里由GenericServlet实现servlet接口,将service以外的方法实现只留下service的抽象方法由我们去重写,这就体现了适配器模式的思想。
装饰器模式:io中的关闭流的时候,只需要关闭高级流,低级流就会自动被调用,这里的源代码体现出了装饰器模式。装饰模式就是在原来的类上进行修饰,将功能进行扩展。
欢迎交流 张先生 zg_199101@163.com
标签:多个 并且 交流 之间 style etc 算法 适配器模式 模式
原文地址:http://www.cnblogs.com/popcoder/p/7655356.html