全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 业务封装:业务逻辑和界面逻辑分开,让他们之间的耦合度降低,只有分离开,才能达 到容易维护或扩展。2. 编程规则:应尽可能的避免代码的重复,当代码重复过多时,将为维护带来很大的麻烦。 面向对象编程 封装 继承 多态 缺一都不是面向对象的。3. 类与类之间的各种关系:氧气 动物 依赖关系 雁群 大雁 聚合关系 鸟 翅膀 组合关系 企鹅 气候 关联关系UML图(1)继承关系用空心三角 + 实线表示(2)实现接口用空心三角形 + 虚线表示(3)当一个类“知道”另一个类时,可以用关联关系,关联关系用实线 + 箭头表示,在一个类中会引用另一个类的对象。(4)每只大雁都属于一个雁群,一个雁群可以有多只大雁,满足聚合关系。聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。在雁群中可以包含一个大雁的数组对象。(5)聚合关系用空心菱形 + 实现箭头表示(6)组合(合成)是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。 组合关系用实心的菱形 + 实线箭头 表示。在一个鸟对象生成时,实例化两个翅膀对象。则鸟和翅膀有相同的生命周期。(7)动物依赖于氧气和水,这就是依赖关系。用虚线箭头来表示。所依赖的对象作为函数的形参。例如动物类的函数成员可以用水喝氧气作为它的形参。简单工厂模式1. 到底要实例化谁,将来会不会增加实例化的对象,这是很容易变化的地方,应该考虑用一个单独的类来做这个创造实例的过程。(即写一个当执行某个操作时能产生相应的对象的类。例如执行加法时,则在创造实例的类中产生一个加法类的对象)策略模式1. 面向对象编程并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。2. 策略模式定义了算法家族,分别封装起来,让它们之间可以互相替换。此模式让算法的变化不会影响到使用算法的客户。3. 算法本身只是一种策略,最重要的是这些算法是随时间都可能互相替换的。这就是变化点,而封装变化点是我们面向对象的一种很重要的思维方式。4. 策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,他可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。(具体的算法本就是一个策略)5. 策论模式的优点:策略模式的Strategy类层次为Context定义了一系列的可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。同时也简化了单元测试,因为每个算法都有自己的类,可以通过自己的接口单独测试。6. 当不同的行为堆砌在一个类中时,就很难避免使用条件判断语句来选择合适的行为。将这些行为封装在一个个独立的类中,可以在使用这些行为的类中消除条件语句。7. 策略模式封装了变化,其就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。8. 策略模式和简单工厂模式结合,可以使选择具体实现的职责由客户端转移到服务器端。单一职责原则1. 在策略模式的实现中,有switch存在,当要增加新的需求时,就要去改动switch代码。而任何需求的变更都需要成本。所以改动的越小越好。这时需要用到 反射技术。2. 就一个类而言,应该仅有一个引起它变化的原因。3. 如果一个类承担的职责过多,就等于把这些职责偶合在一起,一个职责的变化可能会消弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。4. 软件设计真正要做的许多内容就是发现职责并把那些职责相互分离开。判断是否应分离出类:如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。5在类的职责分离上多做思考,做到单一职责,这样的代码才能是真正的易维护,易扩展,易复用,灵活多样。开放 - 封闭原则1. 开放封闭原则:是说软件实体(类,模块,函数等等)应该可扩展,但不可修改。即对于扩展是开放的,对于更改是封闭的。2. 无论模式是多么的封闭,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择,他必须先猜测出最有可能发生的变化的种类,然后构造抽象来隔离那些变化。3. 等到变化时立即采取行动。在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。4. 面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。这就是开放封闭原则的精神所在。5. 我们希望的是在开发工作展开不久就知道可能发生的变化。查明可能发生的变化所等待的时间越长,要创建正确的抽象就越困难。6. 开放封闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026北京保障房中心有限公司校园招聘考试笔试参考题库附答案解析
- 2025西安景泓高级中学招聘笔试考试备考题库及答案解析
- 2025河北秦皇岛市抚宁区招聘社区工作者三考试笔试参考题库附答案解析
- 财务报表分析与风险预警实务指南
- 学会生活的演讲稿
- 秩序竞聘演讲稿
- 职场新人时间管理技巧与实践指南
- 关于友善的演讲稿英语
- 2025河北邯郸市中心医院招聘控制数管理人员41人考试笔试参考题库附答案解析
- 2025年河北石家庄市市属国有企业公开招聘管理及专业技术岗位人员512人笔试考试备考题库及答案解析
- 2025年青海省行政执法人员执法证考试题库及答案
- 2025广西公需科目真题续集(附答案)
- 2025年6月黑吉辽蒙高考地理真题完全解读
- GB/T 45732-2025再生资源回收利用体系回收站点建设规范
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- 口腔四手操作规范(课堂PPT)
- 压力容器质量证明书(中英文)
- 新浙教版七年上册科学一、二章实验探究题训练(含答案)87009
- Dynaform软件的板料冲压成形操作指引
- 浅谈数列“构造法”在教学中的教学实践
- 漫谈宝钢的设备管理(共176页).ppt
评论
0/150
提交评论