新手快速自学软件开发的详细步骤 软件设计开发怎么样( 二 )
第二个定义更容易理解:所有引用基类(父类)的地方必须能够透明地使用其子类的对象 。也就是说,子类能够并且必须能够取代基类可以出现的地方 。子类也可以在基类的基础上添加行为 。
(里氏震级替代原理是由2008年图灵奖获得者、美国第一位计算机科学女博士、麻省理工学院教授BarbaraLiskov和卡内基梅隆大学教授Jeannette Wing于1994年提出的 。原文如下:设q (x)是关于t类型的对象x的一个可证性质,那么q (y)对于s类型的对象y应该为真其中s是t的子类型)
原理分析
讲的是基类和子类的关系,只有这种关系存在时,里氏代换原则才存在 。正方形是长方形是理解里氏代换原则的经典例子 。里氏代换原则可以通俗表述为:在软件中如果能够使用基类对象,那么一定能够使用其子类对象 。把基类都替换成它的子类,程序将不会产生任何错误和异常,反过来则不成立,如果一个软件实体使用的是一个子类的话,那么它不一定能够使用基类 。里氏代换原则是实现开闭原则的重要方式之一,由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象 。I接口隔离规则
(接口分离原则(ISL):客户端不应该依赖那些它不需要的接口 。(这个定律与迪米特里定律是相通的)
定义
客户端不应该依赖那些它不需要的接口 。
另一种定义方法:一个接口一旦太大,就需要分成一些更小的接口,使用这个接口的客户端只需要知道相关的方法 。
注意,这个定义中的接口指的是已定义的方法 。例如,类的公共方法在外部调用 。这个方法是对外的接口 。
原理分析
1)接口隔离原则是指使用多个专用接口,而不是单个通用接口 。每个接口都要承担一个相对独立的角色,不多不少,做不该做的,做该做的 。
一个接口就只代表一个角色,每个角色都有它特定的一个接口,此时这个原则可以叫做“角色隔离原则” 。接口仅仅提供客户端需要的行为,即所需的方法,客户端不需要的行为则隐藏起来,应当为客户端提供尽可能小的单独的接口,而不要提供大的总接口 。2)使用接口隔离原则拆分接口时,首先必须满足单责任原则,在一个接口中定义一组相关的操作 。在高内聚的前提下,接口中的方法越少越好 。
3)系统设计可以使用定制服务,即针对不同的客户端提供不同宽度的不同界面,只提供用户需要的行为,用户不需要的行为可以隐藏 。
D取决于反演原理倾角
依赖倒置原则依赖于抽象,而不是具体的实现 。具体来说,高层模块不依赖于低层模块,但两者都依赖于抽象 。抽象不取决于具体,而取决于抽象 。
定义
高层模块不要依赖低层模块,都要依赖抽象 。抽象不应该依赖细节,细节应该依赖抽象 。简单地说,依赖倒置的原则要求客户端依赖抽象耦合 。原理表达式:
1)抽象不应该依赖于细节;细节应该依赖于抽象;
2)编程是为了接口,而不是为了实现 。
原理分析
1)如果说开闭原则是面向对象设计的目标,那么依托反转原则就是实现面向设计的“开闭”原则的手段 。要想达到“开合”的最佳原则,就要尽量遵守依靠倒置的原则 。可以说,依赖倒置原则是对“抽象”最好的规范!个人感觉依赖反转原理也是对里氏替代原理的补充 。你理解了李希特的代换原理,那么就应该很容易理解依靠反演的原理了 。
2)实现依赖倒置原则的一个常用方法是在代码中使用抽象类,将具体类放在配置文件中 。
3)类间耦合:零耦合、具体耦合、抽象耦合 。依赖反转原则要求客户端依赖抽象耦合,而抽象耦合是依赖反转原则的关键 。
例子
为了理解这种依赖倒置,首先我们需要理解面向对象设计中依赖的概念:
依赖:是一种使用关系 。一个具体事物的变化,可能会影响到使用那个事物的其他事物 。当需要表示一个事物使用另一个事物时,使用依赖关系 。(假设A类的变化引起B类的变化,那么B类这个名字就依赖于A类..)在大多数情况下,依赖性反映在一个类的方法使用另一个类的对象作为参数这一事实上 。在UML中,依赖关系由带箭头的虚线表示,箭头从依赖方指向被依赖方 。
例如:某系统提供了一个数据转换模块,可以将不同数据源的数据转换成各种格式,比如数据库中的数据(DatabaseSource)或者文本文件中的数据(TextSource) 。转换后的格式可以是XML文件(XMLTransformer)或XLS文件(XLSTransformer) 。
推荐阅读
- 实体店从进货到销售的整体方案 新手开服装店的流程
- 去批发市场进货应该要这样操作 新手服装进货技巧
- 有效快速的运营APP推广方案 ios应用推广的方法
- 新手过货的5个详细步骤 服装进货技巧成功经验
- 3个提高招聘效率和质量的办法 快速提高招聘效率的方法
- 6个快速致富小项目 2019农村新型致富项目
- 这几个思路可以让普通人快速白手起家 没本钱如何快速致富的方法
- 实体店投资小利润高的产品 新手开店卖什么好
- 快速让你企业在行业树立权威 网站宣传推广方案
- 100%提高内页权重的方法 怎么快速提高百度权重