设计模式我们已经在大话中学习过了,而且花了很长时间来学习设计模式,每一个例子都实现了,每一段代码都敲过了,对设计模式这一部分肯定掌握得很不错了。在此次学习中,只不过是将设计模式再次用java语言写一遍,思想没有变,只变了一下表现。
对于这一部分,对比java和C#代码的不同之处,然后就很容易拿分。
答题技巧
1、一部分一部分画出来。可以按照一个{}来画出一个个整体。
2、看子类代码补充父类代码,或者看父类代码补充子类代码。
3、注意构造方法(方法名与类名相同)
请理解或牢记
1、抽象类和接口的关键词:
抽象类 | abstract class … | 接口 | interface … |
子类 | extends | 实现 | implements |
抽象类中的方法 | abstract类型 方法名(); | 接口中的方法 | 类型 方法名(); |
用装饰模式来做例子:
若Component为接口: 接口Component:(public) interfaceComponent {
接口中的方法 Public void sampleOperation();
}
实现:public class ConcreteComponent implements Component {
Public void sampleOperation { //具体的实现 }
}
若Component为抽象类:
抽象类:(public) abstract class Component {
Public abstract void sampleOperation();
}
子类:public class ConcreteComponent extends Component {
Public void sampleOperation { //具体的实现 }
}
2、注意聚合和组合
聚合和组合在代码中的表示方式:
在整体类中用到了部分类。
例如:装饰模式中的聚合实现方式
Public abstract classDecorator implements Component {
Private Component component;
PublicDecorator(Component component){
This.component=component;
}
……
}
(注:此部分类非彼部分类。)
3、状态模式和策略模式的区别
状态模式:随着时间(或条件)的改变,状态在时刻发生变化。
策略模式:封装算法,变化不是随时的。