1.singleton 单态
Singleton 模式主要作用是保证在Java 应用程序中,一个类Class 只有一个实例存在。
public class Singleton {
private Singleton(){}
private static singleton = new Singleton();
public static Singleton getSingleton(){
return singleton
}
}
2.工厂模式:在创建复杂对象时,使用工厂模式,将创建对象和实例对象分开来,A接口有2个子类,就可以新建factory创建;如果有多接口,多子类就可以抽象工厂,factroy中定抽象方法,由具体的子类factroy实现。
CatalogDAOFactory 是典型的工厂方法,catDao 是通过动态类装入器className 获得CatalogDAOFactory 具体实现
子类,这个实现子类在Java 宠物店是用来操作catalog 数据库,用户可以根据数据库的类型不同,定制自己的具体实现子类,
将自己的子类名给与CATALOG_DAO_CLASS 变量就可以。
由此可见,工厂方法确实为系统结构提供了非常灵活强大的动态扩展机制,只要我们更换一下具体的工厂方法,系统其他
地方无需一点变换,就有可能将系统功能进行改头换面的变化。
3.bulid模式:实际上跟抽象工厂模式类似,一般由bulid类和director类组成,bulid类负责创建product需要的各个部件,由director类调用bulid类创建。
4.prototype(原型)模式,类似java的clone?
5.adapter(适配器)模式,其实就是java继承和组合的结合使用,继承多个接口动态构造。
6.proxy代理模式,在跨服务器请求大数据或者是长时间数据请求时,用proxy找代理对象代理真实对象。比如权限系统,可以将proxy类作为
根数据库交互的安全代理系统。
7.facade接口模式。 对多个接口统一成一致界面。比如jdbc数据库的应用
8.composite组合模式。在树形结构的业务中比较合适用,比如论坛的帖子业务,回帖,删帖,帖子遍历对应组合模式接口类的增加,删除,遍历。
9.decorator油漆工模式。decoratee被装饰和decorator装饰者。
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
实际上Java 的I/O API 就是使用Decorator 实现的,I/O 变种很多,如果都采取继承方法,将会产生很多子类,显然相当繁琐.
实际上就是抽象继承,重载方法并增加额外的功能方法。
10.bridge桥接模式
注意: Bridge 模式的执行类如CoffeeImp 和Coffee 是一对一的关系, 正确创建CoffeeImp 是该模式的关键。
Bridge 模式在EJB 中的应用:
EJB 中有一个Data Access Object (DAO)模式,这是将商业逻辑和具体数据资源分开的,因为不同的数据库有不同的数据
库操作.将操作不同数据库的行为独立抽象成一个行为接口DAO.如下:
1.Business Object (类似Coffee)
实现一些抽象的商业操作:如寻找一个用户下所有的订单
涉及数据库操作都使用DAOImplementor.
2.Data Access Object (类似CoffeeImp)
一些抽象的对数据库资源操作
3.DAOImplementor 如OrderDAOCS, OrderDAOOracle, OrderDAOSybase(类似MilkCoffeeImp
FragrantCoffeeImp)
具体的数据库操作,如"INSERT INTO "等语句,OrderDAOOracle 是Oracle OrderDAOSybase 是Sybase 数据库.
4.数据库 (Cloudscape, Oracle, or Sybase database via JDBC API)
Singleton 模式主要作用是保证在Java 应用程序中,一个类Class 只有一个实例存在。
public class Singleton {
private Singleton(){}
private static singleton = new Singleton();
public static Singleton getSingleton(){
return singleton
}
}
2.工厂模式:在创建复杂对象时,使用工厂模式,将创建对象和实例对象分开来,A接口有2个子类,就可以新建factory创建;如果有多接口,多子类就可以抽象工厂,factroy中定抽象方法,由具体的子类factroy实现。
CatalogDAOFactory 是典型的工厂方法,catDao 是通过动态类装入器className 获得CatalogDAOFactory 具体实现
子类,这个实现子类在Java 宠物店是用来操作catalog 数据库,用户可以根据数据库的类型不同,定制自己的具体实现子类,
将自己的子类名给与CATALOG_DAO_CLASS 变量就可以。
由此可见,工厂方法确实为系统结构提供了非常灵活强大的动态扩展机制,只要我们更换一下具体的工厂方法,系统其他
地方无需一点变换,就有可能将系统功能进行改头换面的变化。
3.bulid模式:实际上跟抽象工厂模式类似,一般由bulid类和director类组成,bulid类负责创建product需要的各个部件,由director类调用bulid类创建。
4.prototype(原型)模式,类似java的clone?
5.adapter(适配器)模式,其实就是java继承和组合的结合使用,继承多个接口动态构造。
6.proxy代理模式,在跨服务器请求大数据或者是长时间数据请求时,用proxy找代理对象代理真实对象。比如权限系统,可以将proxy类作为
根数据库交互的安全代理系统。
7.facade接口模式。 对多个接口统一成一致界面。比如jdbc数据库的应用
8.composite组合模式。在树形结构的业务中比较合适用,比如论坛的帖子业务,回帖,删帖,帖子遍历对应组合模式接口类的增加,删除,遍历。
9.decorator油漆工模式。decoratee被装饰和decorator装饰者。
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
实际上Java 的I/O API 就是使用Decorator 实现的,I/O 变种很多,如果都采取继承方法,将会产生很多子类,显然相当繁琐.
实际上就是抽象继承,重载方法并增加额外的功能方法。
10.bridge桥接模式
注意: Bridge 模式的执行类如CoffeeImp 和Coffee 是一对一的关系, 正确创建CoffeeImp 是该模式的关键。
Bridge 模式在EJB 中的应用:
EJB 中有一个Data Access Object (DAO)模式,这是将商业逻辑和具体数据资源分开的,因为不同的数据库有不同的数据
库操作.将操作不同数据库的行为独立抽象成一个行为接口DAO.如下:
1.Business Object (类似Coffee)
实现一些抽象的商业操作:如寻找一个用户下所有的订单
涉及数据库操作都使用DAOImplementor.
2.Data Access Object (类似CoffeeImp)
一些抽象的对数据库资源操作
3.DAOImplementor 如OrderDAOCS, OrderDAOOracle, OrderDAOSybase(类似MilkCoffeeImp
FragrantCoffeeImp)
具体的数据库操作,如"INSERT INTO "等语句,OrderDAOOracle 是Oracle OrderDAOSybase 是Sybase 数据库.
4.数据库 (Cloudscape, Oracle, or Sybase database via JDBC API)