需求分析与设计总结

需求分析与设计总结

ID:15702020

大小:138.90 KB

页数:9页

时间:2018-08-05

需求分析与设计总结_第1页
需求分析与设计总结_第2页
需求分析与设计总结_第3页
需求分析与设计总结_第4页
需求分析与设计总结_第5页
资源描述:

《需求分析与设计总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OOD原理:1.开放封闭原理(TheOpen-ClosedPrinciple、OCP)2.里氏代换原理(Liskov Substitution Principle, LSP)3.依赖倒转原理(Dependence Inversion Principle, DIP)4.单一职责原理(SingleResponsibilityPrinciple,SRP)5.接口隔离原则(Interface Segregation Principle, ISP)6.合成复用原则(Composite Reuse Principle, CRP)7.迪米特

2、法则(Law of Demeter, LoD)一.LSP里氏替换原则(敏捷第十章,编程导论p53)1.什么是里氏替换原则:(1).子类型是一个父类型(如果对于类型SmartDog的任何一个对象(在源代码中为引用变量或引用值)s,存在着一个类型Dog的对象d,在所有的使用了Dog的程序P中,如果用sd替换d后P的行为不变,则SmartDog是Dog的子类型(subtype)。)(2).子类型(必须)能够替代其父类型(LSP强调了子类型必须具备替换属性,即在一个软件系统中,基类出现的所有地方必须都能够被子类型替代。)2.继承的分类

3、:(1)特化(specialization)继承(特化继承的基本表现是•子类直接获得父类的方法•或者改写父类的(已经实现的)方法体。特化继承又称实现继承(implementationinheritance),或者说以父类的代码复用为目的的继承。)(2)扩展(extension)继承(扩展继承的基本表现是子类增加新的功能但是不改写继承于父类的方法)(3)协议(Specification、规范)继承(通常称为接口继承,指对抽象方法的继承。对抽象方法的实现称为延迟实现,而改写是一种实现继承)(4)多重继承(multipleinher

4、itance)(子类型继承多个父类型。Java对于多重继承作出如下规定:²类只能继承一个父类,同时²一个类可以实现(使用关键字implements)多个接口。²一个接口可以继承(使用关键字extends)多个接口。)3.违反LSP原则的代码◇ 不应该在代码中出现if/else之类对子类类型进行判断的条件。以下代码就违反了LSP定义。viewplaincopytoclipboardprint?01.if(objtypeofClass1){02.dosomething03.}elseif(objtypeofClass2){04.d

5、osomethingelse05.}if(objtypeofClass1){dosomething}elseif(objtypeofClass2){dosomethingelse}◇ 子类应当可以替换父类并出现在父类能够出现的任何地方。经典违背例子:长方形与正方形1.   //长方形类:  2.  public class Rectangle{  3.    ...  4.    setWidth(int width){  5.        this.width=width;  6.    }  7.    setHeigh

6、t(int height){  8.        this.height=height  9.    }  10.  }  11.  //正方形类:  12.  public class Square{  13.    ...  14.    setWidth(int width){  15.        this.width=width;  16.        this. height=width;  17.    }  18.    setHeight(int height){  19.        this.se

7、tWidth(height);  20.    }  21.  }  22.  //例子中改变边长的方法:  23.  public void resize(Rectangle r){  24.    while(r.getHeight()<=r.getWidth){  25.        r.setHeight(r.getWidth+1);  26.    }  27.  }  4.哪些不遵循LSP原则鸵鸟——鸟正方形——矩形鲸鱼——鱼5接口的一致性问题(接口的实现与分离又称为parnas原则)子类要继承父类的接口接口的思

8、想就是“封装隔离”。通常用接口来定义实现类的外观,也就是实现类的行为定义,用来约束实现类的行为。接口就相当于一份契约,根据外部应用需要的功能,约定了实现类应该要实现的功能,但是具体的实现类除了实现接口约定的功能外,还可以根据需要实现一些其它的功能,这是允许的,也就是说实现类的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。