--------android培训java培训期待与您交流------
1 单例设计模式
单实例设计模式,这个模式想必大家很了解,一般分为懒汉式好饿汉式,懒汉式不会出现线程安全问题,而饿汉式容易出现线程安全问题,今天我给大家采用jdk1.5并发库中的ReadWriteLock来实现一下单例设计模式;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
public class SingletonsByRWL {
2:工厂设计模式
在工厂中,生产一般都有原料和图纸,技术工照着图纸的意思,将原料加工成产品;或者说我们需要大量使用的东西一般都是批量生产的,这就要有个专门的工厂去生产他,java中我们开发三层架构,很重要的一个软件工程的思想就是解耦,而解耦的一个实现方式就是工厂设计模式,我们将配置文件配好,定义好一些接口的实现类,配置到配置文件中去,我们需要对配置文件进行解析,同时往往要用到反射技术,动态创建对象并返回需要使用的人;这时工厂设计模式的高级应用;这也是Spring等框架的底层实现原理;
3:策略设计模式
4
我们在定义一些功能时,发现有很多重复的代码,这些方法的实现过程和思想是差不多的,只是参数和一些细节不同罢了,这个时候我们队这些方法所属的类进行抽象,将共性代码定义到父类中,一些细节性的代码留给子类取实现,比如说我们在操作数据库是,都需要有sql语句和链接数据库和关闭数据库,这个时候我们将这些代码提取到父类中取,对于一些细节,比如sql语句,还有是查询还是增删,定义成抽象方法,由子类取实现;
5装饰设计模式
所谓装饰设计模式就是说使用原有对象功能,并对其进行增强,他是通过组合方式来实现的,比如说,我们要定义一个List集合,但是要保证期元素的唯一性,这时我们就要定义一个list对象,并调用其方法完成集合的增删改查,但是在增加的时候,我们加入了判断元素唯一性的条件,从而完成了该功能,但这个功能却不是java提供的list集合就能完成的,等于是我们自己创建了另一个类,使用List的功能;
这有点代理的意思,但是代理是用反射机制实现的;