最近在看设计模式,有些想法记录下来
灵活的可插拔,Arrays.sortArrays.sort包含了template method Pattern和Strategy Pattern
Collections.synchronized系列静态方法,也是可插拔的体现,应用了装饰者模式。同时显现出了基于接口编程,和静态内部类的一些应用场合。
感觉设计模式一个主要的目的是:抽象出来不变的部分,讲变化的部分分离出来可以替换,降低耦合。
主要的一个途径就是:首先考虑组合和接口,其次是继承。
灵活的可插拔,Arrays.sortArrays.sort包含了template method Pattern和Strategy Pattern
Arrays.sort(ducks, new Comparator<Duck>() {
@Override
public int compare(Duck o1, Duck o2) {
// TODO Auto-generated method stub
if (o1.getWeight() < o2.getWeight()) {
return -1;
} else if (o1.getWeight().equals(o2.getWeight())) {
return 0;
} else {
return 1;
}
}
});
Collections.synchronized系列静态方法,也是可插拔的体现,应用了装饰者模式。同时显现出了基于接口编程,和静态内部类的一些应用场合。
感觉设计模式一个主要的目的是:抽象出来不变的部分,讲变化的部分分离出来可以替换,降低耦合。
主要的一个途径就是:首先考虑组合和接口,其次是继承。