问题
单项选择题
遵守面向对象设计原则可以有效地提高系统的复用性和可维护性。应用 (39) 原则可扩展已有的系统,并为之提供新的行为; (40) 原则建议在面向对象程序设计中,应尽量针对接口编程,而不是针对实现编程。
A.里氏替换
B.依赖倒置
C.接口隔离
D.最小知识
答案
参考答案:B
解析:
[分析]: 本题所考查的是面向对象设计的一些基本原则,这些原则如下:
·开闭原则:一个软件实体应当对扩展开放,对修改关闭。在设计一个模块时,应当使这个模块可以在不被修改的情况下被扩展。关键在于抽象,抽象层要预见所有可能的扩展,因此抽象层在任何扩展情况下都不会改变,即对修改关闭。同时,由于从抽象层导出一个或多个新类,可以有不同的实现,改变系统的行为,此即对扩展开发。简而言之,抽象层对修改关闭,通过扩展实现改变系统行为。
·里氏代换原则:任何基类可以出现的地方,子类一定可以出现。
·依赖原则:要依赖于抽象,而不是具体实现。也可以这样说,要针对接口编程,不要针对实现编程。
·接口分离原则:应当为客户端提供尽量小的单独的接口,而不是提供大的接口。
·组合复用原则:要尽量使用组合而不是继承关系达到复用目的。
·迪米特法则:又叫最少知识法则,就是说一个对象应当对其他对象有尽可能少的了解。
有关这些原则的详细介绍,请学习指定教材《系统分析师教程》(张友生,清华大学出版社)第13.4.3节