软件工程软件工程软件工程 (42).pdf
《软件工程软件工程软件工程 (42).pdf》由会员分享,可在线阅读,更多相关《软件工程软件工程软件工程 (42).pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于对象设计 关于对象设计 你愿或者不愿,需求需求就在那里,日新月异 你想或者不想,设计创新就在那里,始终持续始终持续 你测或者不测,BugBug都在那里,多多少少多多少少 结束结束或者不结束,干系人在那里,决策决策终不由己 来,面向对象的阵营里,或者,让对象思想驻对象思想驻进你的心里,默然,领会。由衷,欢喜 关于对象设计关于对象设计 其实,真相是:面向对象方法本身并不能保证你的设计成为优秀的设计 You can create a very bad OO design just as easily as you can create a very bad non-OO design.面向对象设
2、计过程 面向对象设计过程 进行适当的领域分析 撰写问题描述,确定系统的开发任务 基于问题描述抽取需求 开发用户界面原型 识别对象类 定义每个类的职责 确定类之间的交互关系 建立系统的设计模型 面向对象思维方式的核心理念区分接口与实现 从具体到抽象 最小接口原则 区分接口与实现 接口的标准化 vs.vs.实现的演化 public void open(string name)/*some application-specific processing*/*call the Oracle API to open the DB*/*more application specific processin
3、g*/public void open(string name)/*some application-specific processing*/*call the SQLAnywhere to open the DB*/*more application specific processing*/接口用户 代码 用户代码 接口 Oracle DB2 SQLAny Using Abstract Thinking When Designing Interfaces 设计抽象的接口 抽象的接口抽象的接口抽象的接口 师傅,请送我去机场 不太抽象的接口不太抽象的接口不够抽象的接口 右转 右转 左转 左转
4、 左转 抽象的接口:向用户暴露尽可能少的实现细节 让用户知道的关于类的内部实现细节越少越好:只给看必须的 只看公开的 只为用户的业务需求考虑 最小用户负担原则 确定用户用户是谁?重要程度高达50%面向服务的原则面向服务的原则 (Services Principle)提供服务:只要能赚钱就好 使用服务:不要太贵喔 确定对象行为用例!以往的设计决策在我们定义抽象接口时候会发生变化 识别环境约束 识别环境约束 环境对对象的行为施加约束限制条件 前置条件/后置条件/例外条件 公共接口的识别 公共接口的识别 用户使用出租车对象的时候,需要以下功能:上车 告知司机终点 付钱 下车 用户要用出租车的时候:有
5、出行地点 召唤出租车 付钱 确定实现细节 确定实现细节 公共接口以外的内容都可以看做是实现相关的 用户永远无需关注实现细节 方法的命名和参数定义(name and parameter list)编码实现 对实现的修改无须牵涉接口 实现为用户的期望提供解决方案 接口从用户的角度看待对象,实现则是对象的果核和果肉 实现中包含有描述对象状态的代码 开闭原则(Open/Closed Principle,OCP)最初由Bertrand Meyer提出 软件实体在扩展性方面应该是开放的,而在更改性方面应该是封闭的。例:打印输出设计 设计1 设计2 Liskov替换原则(Liskov Substitutio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程软件工程软件工程 42 软件工程 42
限制150内