返回首页

简介
在逻辑解决方案的设计师寻求解决问题的活动,使用对象,需要对面向对象的基本的了解。任何人编写的代码应该知道基本的面向对象的分析,以确保他们遵守基本的面向对象编程设计??面向对象。本文将帮助开发人员了解实时对象转介[图片] OOAD的基本知识。背景
在发展过程中,除非开发人员的代码对象与OOAD的基本知识,输出将采取的程序形式,如果输入技术作家的伪代码。在许多情况下,它发生在项目。如今,非IT毕业生加入公司开始在几个星期的实时项目编码的基本编码准则,从导师/导师得到。许多导师/导师/信息培训项目中的这些新秀从未告诉面向对象的基础。让我们讨论OOAD
我们将讨论OOAD bynbsp划分为以下部分:缺货OOAOOD缩略图面向对象的设计原则面向对象的设计质量度量面向对象系统(OOS) 面向对象的系统是由{A}系统的行为是通过这些对象之间的协作系统的状态是在它的所有对象的组合状态对象之间的协作,涉及到他们发送消息给对方。语义对象之间发送消息的确切变化取决于什么样的系统正在建模。通过"调用一个methodquot;通过发送数据面向对象分析(OOA)
{S0}面向对象设计(OOD)
缩略图的面向对象的设计原则
{S2}原则固单一责任原则A类应该有一个单一的责任:所有这一切,它好,它而已。一个类应该有一个,只有一个理由去改变。各责任应该是一个单独的类,因为各自的责任,是一个变革的轴。如果业务规则的变化导致一类的变化,然后改变数据库架构,图形用户界面,报表格式,或系统的任何其他部分不应迫使这一类改变经验法则除非在25字以内描述一类是mouseof quot; andquot;或"orquot;实际上可能有多个类。类,接口,功能等,都成为大和臃肿,当他们试图做太多的事情。为了避免臃肿和混乱,并确保代码是真正简单的(不只是快速破解),我们有实务守则的正常化,这似乎是一个OnceAndOnlyOnce也DoTheSimplestThingThatCouldPossiblyWork变化。这是ResponsibilityDrivenDesign部分。
打开/关闭"的原则软件实体(类,模块等)应延期开放,但对修改关闭。换句话说(在一个理想世界...),你不应该需要改变现有的代码或类:所有新的功能,可以通过添加新的子类和压倒一切的方法,或通过重用现有代码通过代表团。这可以防止你现有的代码中引入新的bug。如果你从来没有改变它,你不能打破它。
使用抽象类与接口类实现的Liskov替换原则LSP派生类必须通过基类的接口可用而不需要用户知道其中的差别。"派生的实例应该能够取代它superclassquot的任何实例;详情使用层次是在面向对象设计的一个重要组成部分。层次结构允许类型的家庭使用,在更高级别的超类型捕获的行为亚型的共同点。对于这种方法是有效的,它必须有一个清醒的认识亚型和超类型是如何相关的。"子类型的对象应该表现那些超类型的任何人或程序使用父类对象可以tellquot尽可能相同;重要因为如果没有,那么类层次结构将是一个烂摊子。会所是,每当一个子类的实例作为参数传递给任何方法,奇怪的行为会发生。 因为如果没有,绝不会得逞的子类超类的单元测试接口分离的原则许多客户端特定的接口比一个通用接口一类依赖另一个应该取决于最小的接口
{中六}依赖倒置原则细节应该依赖于抽象。抽象不应该依赖细节。quot;模块,实现了一个高层次的政策不应该取决于模块,实现了低层次的政策,而是他们应取决于一些定义良好的接口。它源于认识到,我们必须扭转这些依赖关系的方向,以避免刚性,脆弱性和不动。避免设计是:刚性(硬改变由于依赖关系。特别是因为依赖关系是传递的。)脆弱(变化会导致意想不到的错误。)不动的(难以重用,由于当前的应用程序代码的隐式依赖。)
{七}包凝聚力的原则再用/发行等效原理:重用颗粒释放的颗粒相同。只有通过跟踪系统发布组件可以有效地重用。共同封闭原则:一起变化的类,属于一起的。共同重用原则:不重用的类不应该放在一起。
包耦合原则非循环依赖关系的原则:释放组件的依赖结构必须是一个有向无环图。不能有周期。稳定的依赖关系的原则:释放类之间的依赖关系,必须在稳定的方向运行。 dependee必须超过depender稳定。
稳定抽象原则:一类类更稳​​定,更必须由抽象类。一个完全稳定的范畴应包括无非是抽象类。
最好的设计OOD准则??最佳设计的设计规则)
在设计过程中,我们从需求和用例到一个系统组件,每个组件都必须满足这一要求,在不影响其他要求。以下是步骤,以避免设计的危险:继承加上其超一流的一个子类放大器方面的属性;方法高继承耦合是可取的每个专业类不应该继承大量的无关放大器,放大器不需要的方法;属性耦合类型和学位凝聚力(在一个单一对象或swcomponent互动)体现了"单purposeness??对象的方法凝聚力一个方法应该只能携带一个功能。携带多种功能,是不可取的。优化技术重组代价 识别不好的设计规则面向对象的设计质量度量指标(衡量一个面向对象的设计的质量)相互依存(子系统之间)Highinterdependent往往是刚性的,联合国重用,难以维持和级联的依赖模块的变化子系统需要相互依存的协作支持在设计通信隔离来自非可重复使用的元素的可重复使用的元素,阻断传播的变化由于维护决定设计生存变化的能力,或重用上的单一变化的脆弱依赖"好依赖??依赖,这是非常稳定的东西后"坏依赖??时,是不稳定的东西的依赖稳定性最稳定的阶层,所有的类都是独立和负责的的。这些类没有任何理由改变,不会改变的原因很多。类属:重用和释放颗粒
很少是孤立的,一个类可以重用。?
"类属 - A级类别(以下简称一类简单)是一组具有高度凝聚力的班,服从以下三个规则:一类内类是封闭的共同反对任何改变的力量。如果一个类必须改变,内部类的所有类都可能发生变化。在一类的类一起被重用。强烈相互依存,不能彼此分开。因此,如果任何企图重用的类别一类,所有的其他类必须重复使用。在一类的类共享一些常见的功能,或达到某种共同的目标。
三个规则中列出其重要性顺序。第3条第2条,反过来,它可以被牺牲的第1条规则可以牺牲。
作者必须提供其类别的排放,使reusers可以放心,他们可以访问的类别不会改变的版本,并确定版本号。依赖度量
责任,独立和稳定的一类可以测量计数的依赖关系,与该类别互动。CA:传入联轴器属于这一类:这一类以外的依赖后,班班数CE:传出联轴器:吁请类依赖这一类内类外的类别我:不稳定(CE ÷(钙CE)):这种度量范围[0,1]I = 0时表示最大限度地稳定的一类我= 1表示最大限度不稳定的一类高度稳定的类别取决于后没有不稳定的类别,不应该是抽象的,他们应该是具体的刻意设计的部分要足够灵活,能够承受显著的变化量结论
希望你OOAD的有趣和更容易理解。历史2011年4月,24日:战后初期

回答

评论会员:K 时间:2