设计模式:
为什么要设计?
1. 软件的复用
2. 软件的维护
开闭原则:
对高层的修改关闭,对低层的扩展开放
模板方法:它实现了开闭原则
package MY.module01.sjms.kbyz;
public class TestCET6 {
}
package MY.module01.sjms.kbyz;
public abstract class CET6 {
}
package MY.module01.sjms.kbyz;
public class ConcretCET6 extends CET6{
}
里氏代换原则:
任何父类适用的地方,子类一定适用,子类可以当父类用
策略模式:实现了里氏代换原则,解决了可选算法的问题
什么是策略模式?针对共同的问题,提供解决方案或指导原则或好坏结果
package MY.module01.sjms.celuemoshi;
public class Client {
// c.setD(new dis2());
}
package MY.module01.sjms.celuemoshi;
public class Context {
}
package MY.module01.sjms.celuemoshi;
public class dis1 extends DisCount{
}
package MY.module01.sjms.celuemoshi;
public class dis2 extends DisCount{
}
package MY.module01.sjms.celuemoshi;
public abstract class DisCount {
}