面向对象设计开卷考题A

本学期的开卷考题。试一试你对OO的了解。

一、编程论述题:里氏代换原则是OOP的基石 。
1.什么是LSP,遵循LSP的继承形式(5分)
2.代码演示违反LSP的一种场景(10分)
3.LSP的核心是什么(5分)

二、编程论述题:应用抽象依赖原则
1.什么是抽象依赖原则、开放封闭原则、针对接口编程(5分)
2.重构代码使之符合抽象依赖,(10分)
public class Hand {
    public Door d = null;
    public Hand(String typeName){
        if(typeName.equals("D1")){
            d =  new D1();
        }else if(typeName.equals("D2")){
            d =  new D2();
        }else{
            d =  null;
        }
    }
}
3.说明创建型模式的意图(5分)

三、论述题:“Parnas是正确的”
1.什么是Parnas原则,什么是定义良好的接口(5分)
2.从Java接口与其实现,阐述Parnas原则的推广(10分)
3.什么是信息隐藏(5分)

四、论述题:单向依赖原则与回调
1.什么是单向依赖原则、回调、(5分)
2.解释Java中回调的基本结构(类图及说明)(5分)
2.讨论《设计模式》中如下解说:“模板方法导致一种反向的控制结构,这种结构有时被称为“好莱坞法则” ,即“别找我们,我们找你”[ S w e 8 5 ]。这指的是一个父类调用一个子类的操作,而不是相反。” (10分)

五、论述题:“忘掉关系型数据库”
1.为什么分析、设计时要忘掉关系型数据库(10分)
2.介绍NoSQL、ORM技术(10分)。

你可能感兴趣的:(《编程导论(Java)》道&理)