适配器(Adapter)模式
我们需要把一个接口转换成另外一个接口,以此使用客户对象能够继续使用这个类对象而不需要任何改变,我们把这个转换类就叫做适配器。
代理(Proxy)模式
需要在原方法调用前后,增加额外的非相关业务处理。如权限控制,处理异常,增加同步。
装饰(Decorator)模式
遵守开放封闭原则。需要在原方法的基础上,进行功能上的扩展。如BufferedInputStream与InputStream。
外观(Facade)模式
遵守最少知识原则,例如老板请吃,不需每件事情(选酒店,订座位,点菜等)都做,可以交给他的秘书去完成这些事情,他只需做他必需做的事情——发表讲话。
策略(Strategy)模式
把常常需要变成的封装成策略,比如回家过年的人,有多种回家的方式。可以抽象一个Travellable接口,然后实现多种回家方式:ByAir、ByCar等。这些回家的策略就可以回家过年的人使用了。
单例(Singleton)模式
注意反序列化的时候会生成新的对象,所以要注意覆盖readResolve方法。
开放封闭原则:在进行OOP开发时,我们只能修改已有类的错误,若是扩展它们的功能,我们不能修改它们,而是通过添加新类来解决。即对扩展开放,对修改关闭。
我们需要把一个接口转换成另外一个接口,以此使用客户对象能够继续使用这个类对象而不需要任何改变,我们把这个转换类就叫做适配器。
代理(Proxy)模式
需要在原方法调用前后,增加额外的非相关业务处理。如权限控制,处理异常,增加同步。
装饰(Decorator)模式
遵守开放封闭原则。需要在原方法的基础上,进行功能上的扩展。如BufferedInputStream与InputStream。
外观(Facade)模式
遵守最少知识原则,例如老板请吃,不需每件事情(选酒店,订座位,点菜等)都做,可以交给他的秘书去完成这些事情,他只需做他必需做的事情——发表讲话。
策略(Strategy)模式
把常常需要变成的封装成策略,比如回家过年的人,有多种回家的方式。可以抽象一个Travellable接口,然后实现多种回家方式:ByAir、ByCar等。这些回家的策略就可以回家过年的人使用了。
单例(Singleton)模式
注意反序列化的时候会生成新的对象,所以要注意覆盖readResolve方法。
private Object readResolve(){
return singleton;
}
开放封闭原则:在进行OOP开发时,我们只能修改已有类的错误,若是扩展它们的功能,我们不能修改它们,而是通过添加新类来解决。即对扩展开放,对修改关闭。