全部科目 > 系统架构设计师 >
2011年下半年 上午试卷 综合知识
第 31 题
知识点 面向对象设计   面向对象设计   设计原则   实体  
关键词 面向对象设计   实体   对象   面向对象  
章/节 设计方法  
 
 
最少知识原则(也称为迪米特法则)是面向对象设计原则之一,指一个软件实体应当尽可能少地与其他实体发生相互作用。这样,当一个实体被修改时,就会尽可能少地影响其他的实体。下列叙述中,“ (31) ”不符合最少知识原则。
 
  A.  在类的划分上,应当尽量创建松耦合的类
 
  B.  在类的设计上,只要有可能,一个类型应当设计成不变类
 
  C.  在类的结构设计上,每个类都应当尽可能提高对其属性和方法的访问权限
 
  D.  在对其他类的引用上,一个对象对其他对象的引用应当降到最低




 
 
相关试题     设计方法 

  第23题    2025年下半年  
以下关于面向对象软件测试的叙述中,正确的是(39)。

  第33题    2024年下半年  
质量属于场景的()是激励到达后所采取的行动 ,使用哪两个图可以描述用户界面元素和界面跳转()。

  第28题    2014年下半年  
在结构化分析方法中,用(27)表示功能模型,用(28)表示行为模型。

 
知识点讲解
· 面向对象设计
· 面向对象设计
· 设计原则
· 实体
 
        面向对象设计
        面向对象设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。瀑布模型把设计进一步划分成概要设计和详细设计两个阶段,类似地,也可以把面向对象设计再细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构。对象设计确定解空间中的类、关联、接口形式及实现操作的算法。
        面向对象设计的一些基本准则是:模块化、抽象、信息隐藏、高内聚和低耦合。下面,我们具体介绍一些面向对象设计(含设计模式)的原则,这些原则有助于开发人员设计出具有弹性的系统,从而消除系统设计中存在的问题。
        (1)单一职责原则:这是模块内聚性在类和类的职责中的体现,如果一个类承担的职责过多,意味着这些职责耦合在一起,形成的很有可能是一个“杂凑类”,任一个职责的变化可能会削弱或者抑制该类完成其他职责的能力,并影响到构建、测试和部署等活动。通过业务分离可以对概念进行解耦,从而得到目的单一的类。
        (2)开放-封闭原则。在模块本身不变动的情况下,通过改变模块周围的环境达到修改目的。遵循开放-封闭原则设计出的模块具有一个主要特征,即对于扩展是开放的,对于修改是封闭的。也就是说,模块的行为是可扩展的,当应用的需求改变时,在模块上进行扩展使其具有满足那些改变的新行为。当模块进行扩展时,不必改动模块的源代码或二进制代码。
        (3)李氏(Liskov)替换原则。子类型必须能够替换掉它们的基类型;子类具有扩展父类的责任,而不是重写的责任。也就是说,基类的使用者不必为了使用子类而做任何其他的事情,他们可以在根本不了解子类的特殊性,甚至不必知道是否存在子类,存在哪些子类的情况下来调用基类的抽象方法。这样多态性才能顺利实现。事实上,正是Livkov替换原则,才使开放-封闭原则得以实现。因为正是子类的可替换性才使得基类的模块在无需修改的情况下就可以扩展。
        (4)依赖倒置原则。高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。每个较高的层次都为它需要的服务声明一个抽象接口,较低的层次实现这个接口,每个高层类都通过该抽象接口使用下一层;要依赖于抽象,而不是具体实现。也可以这样说,要针对接口编程,不要针对实现编程。
        (5)接口隔离原则。应当为客户端提供尽量小的单独的接口,而不是提供大的接口;使用多个专门的接口比使用单一的总接口要好。也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的。这里的“接口”往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象;另外一种是指某种语言具体的“接口”定义,有严格的定义和结构。在进行OOD的时候,一个重要的工作就是恰当地划分角色和角色对应的接口。将没有关系的接口合并在一起,是对角色和接口的“污染”。如果将一些看上去差不多的接口合并,并认为这是一种代码优化,这也是错误的。不同的角色应该交给不同的接口,而不能都交给一个接口。
        (6)组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。组合相对继承而言,具有更大的灵活性而不会影响调用代码;具有更短的编译时间;适用性更广;具有较好的健壮性和安全性,减少的复杂性和脆弱性,具有更好的可维护性;能够在运行期创建新的对象。当然,耦合度的降低又会增加设计的难度、系统的复杂性以及实现的成本等,因此,在设计过程中,必须对这些因素综合考虑。
        (7)迪米特(Demeter)原则:又称最少知识法则(Least Knowledge Principle,LKP),就是说一个对象应当对其他对象有尽可能少的了解。遵循类之间的迪米特原则会使一个系统的局部设计简化,因为每一个局部都不会和远距离的对象有直接的关联。但是,这也会造成系统的不同模块之间的通信效率降低,也会使系统的不同模块之间不容易协调。迪米特原则在类的设计上主要体现在:优先考虑将类设置成不变类,尽量降低类的访问权限,谨慎使用Serializable,尽量降低成员的访问权限。但遵循该原则,会在系统中造出大量的小方法,这些方法仅仅是传递间接的调用,与系统的商务逻辑无关。
 
        面向对象设计
        面向对象设计(Object-Oriented Design,OOD)是将OOA所创建的分析模型转化为设计模型,其目标是定义系统构造蓝图。OOA与OOD之间不存在鸿沟,采用一致的概念和一致的表示法,OOD同样应遵循抽象、信息隐蔽、功能独立、模块化等设计准则。
        OOD在复用OOA模型的基础上,包含与OOA对应如下五个活动:
        (1)识别类及对象。
        (2)定义属性。
        (3)定义服务。
        (4)识别关系。
        (5)识别包。
        OOD需要考虑实现问题,如根据所用编程语言是否支持多继承或继承,而调整类结构。
 
        设计原则
        防火墙的设计原则如下。
        (1)由内到外、由外到内的业务流均要经过防火墙。
        (2)只允许本地安全策略认可的业务流通过防火墙,实行默认拒绝原则。
        (3)严格限制外部网络的用户进入内部网络。
        (4)具有透明性,方便内部网络用户,保证正常的信息通过。
        (5)具有抗穿透攻击能力,强化记录、审计和报警。
 
        实体
        从上表中可见,在E-R模型中实体用矩形表示,通常矩形框内写明实体名。实体是现实世界中可以区别于其他对象的“事件”或“物体”。例如,企业中的每个人都是一个实体。每个实体由一组特性(属性)来表示,其中的某一部分属性可以唯一标识实体,如职工号。实体集是具有相同属性的实体集合,例如,学校所有教师具有相同的属性,因此教师的集合可以定义为一个实体集;学生具有相同的属性,因此学生的集合可以定义为另一个实体集。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有