您的位置:网站首页 > app开发 > 郑州软件开发公司 > 正文

软件开发之对象设计过程和设计模式

作者:知网科技 日期:2020/6/17 人气:
标签:


 

       对象设计过程

 

       郑州软件公司认为借鉴在本书前面所述的比喻,面向对象系统设计可被视为房子的平面图,平面图刻画了每个房间的用途,以及房间和房间、房间和外部环境间连接的机制。现在到了提供建造每个房间所需的细节的时候了。

 

       在OOD的语境内,对象设计着重于“房间”。必须开发构成每个类的属性和操作的详细设计,以及连接类和其协作者的完整的消息规约。

 

       1.对象描述

 

       对象(类或子类的一个实例)的设计描述可以采用以下形式之一。

 

       (1)协议描述,通过定义对象可以接收的每个消息和当对象接收到消息后完成的相关操作来建立对象的接口。

 

       (2)实现描述,显示由传送给对象的消息所蕴含的每个操作的实现细节,实现细节包括关于对象私有部分的信息,即关于描述对象的属性的数据结构的内部细节及描述操作的过程细节。

 

       郑州apple软件开发认为协议描述仅仅是一组消息和对消息的注释,对有很多消息的大型系统,一般有可能创建消息类别。

 

       对象的实现描述提供了内部的(“隐藏的”)细节,它是实现所需要的,但不是调用所必需的。即对象的设计者必须提供一个实现描述并创建对象的内部细节,然而,使用该对象或该对象的某个其他实例的另一个设计者或实现者所需要的仅仅是协议描述而不是实现描述。

 

       实现描述包含了以下信息:①对象的名字的定义和类的引用。②指明数据项和类型的私有数据结构的定义。③每个操作的过程描述或指向这样的过程描述的指针。实现描述必须包含用以对在协议描述中所描述的所有消息的适当处理的足够的信息。

 

       Cox用服务的“用户”和“提供者”来刻画包含在协议描述中的信息和包含在实现描述中的信息的不同,对象所提供的“服务”的用户必须熟悉调用该服务的协议,即刻画想要什么。服务的提供者(对象本身)必须考虑如何将服务提供给用户,即考虑实现细节。这就是面向对象中引人“封装”的目标的概念。

 

       2.设计算法和数据结构

 

       郑州苹果软件开发认为包含在分析模型和系统设计中的一系列表示提供了对所有操作和属性的定义,使用与传统软件工程所讨论的数据设计和过程设计方法略有不同的方法来设计算法和数据结构。

 

       创建算法以实现每个操作的规约,在很多情况下,算法是可以自我包含的软件模块来实现的简单的计算或过程序列,然而,如果操作的规约是复杂的,有可能必须将操作模块化,可运用传统的过程设计技术来达到此目的。

 

       数据结构被和算法并行地设计。因为操作总是要操纵类的属性,所以,最好地反应了属性的数据结构设计将对相应操作的算法设计具有重要意义。

 

       虽然存在很多不同的操作类型,它们通常可以分成3大类:①以某种方式操纵数据的操作(如加人、删除、重格式化、选择)。②执行计算的操作。③为控制事件出现监控对象的操作。

 

       一旦创建了基本对象模型后,应该进行优化。建议OOD优化的3个主要的切人点如下。

 

       (1)复审对象一关系模型以保证已实现的设计可带来对资源的高效使用并容易实现,必要时加人冗余。

 

       (2)修订属性数据结构和对应的操作算法以提高处理效率。

 

       (3)创建新的属性以存放导出的信息,以避免重复计算。

 

       设计模式

 

       郑州android开发认为在任何领域的最好的设计者均具有这样奇特的能力,能够看见刻画问题的模式和可被组合以创建解决方案的对应的模式,Gamma及其同事讨论该问题如下。

 

       在许多面向对象系统中,将发现类和通信对象的重复出现的模式。这些模式解决特定的设计问题,并使得面向对象的设计更灵活、优美并最终可复用。它们通过将新的设计基于以前的经验之上来帮助设计者复用成功的设计,熟悉这样的模式的设计者可以立即应用它们到设计问题中,而不需重新发现它们。

 

       贯穿整个OOD过程,软件工程师应该去寻找每个复用现存设计模式的机会,并且,如果复用不可能时,则力图创建新的设计模式。

 

       1.描述设计模式

 

       成熟的工程学科使用成千的设计模式。例如,机械工程师使用一个两步键轴作为设计模式,该模式的固有性质是属性(轴的直径、键沟的维数等)和操作(如轴旋转、轴连接);电子工程师使用集成电路(一个极端复杂的设计模式)来解决新问题的特定元素。所有设计模式均可以通过刻画以下4个信息而描述。

 

       (1)模式的名字。

 

       (2)模式通常被应用的问题。

 

       (3)设计模式的特征。

 

       (4)应用设计模式的结果。

 

       郑州安卓软件开发认为设计模式名是它传达关于其适用性和意图的有意义的信息的一个抽象;问题描述指明使得设计模式可以被应用所必须存在的环境条件。模式特征指明设计中可被调整以使得模式能够适应一系列问题的属性,这些属性表示了可以被用来搜索(通过数据库)以找到合适的模式设计的特征;最后,和使用设计模式相关联的结果指明了设计决策的分叉。

 

       应该仔细选择对象和子系统(潜在的设计模式)的名字。软件复用中的关键技术问题之一就是不能在成百上千候选模式中找到合用的可复用模式。对“合适”模式的搜索可从有意义的棱式名字及一组帮助区分对象的特征中得到不可限量的帮助。

 

       2.在设计中使用设计模式

 

       在面向对象系统中,可以运用两种不同的机制来使用设计模式:继承和复合。继承是基本的面向对象概念,使用继承,现存的设计模式变成了新子类的模板,存在于模式中的属性和存在成为子类的一部分。

 

       郑州ios开发认为复合是导致聚合对象的概念,即一个问题可能需要具有复杂功能的对象(在极端情形,用子系统完成这些要求),复杂的对象可以通过选择一组设计模式并复合适当的对象(或子系统)而被组装而成,每个设计模式被作为黑盒,在模式间的通信仅仅通过良好定义的接口进行。

 

       建议当两种选择并存时,对象复合应该优于继承。不是去创建大型的、有时不可管理的类层次(过分使用继承的结果),复合采用针对一个目标的小的类层次和对象。复合以不修改的方式使用现存的设计模式(可复用构件)。

       转载请注明出处:郑州知网软件  http://www.nwisdom.com



(())
顶一下
参与讨论
姓名: 验证码:看不清楚,换一个
最新评论

联系我们

软件开发: 15838307519(司经理)

网络营销: 13676968269(王经理)

网络建设: 13073737771(郭经理)

24小时服务电话: 0371-56683330

了解更多APP开发

+好友