程序封装思想和常见原则..ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序封装思想和常见原则 jacky 2015-1-16 一,从软件工程层面说起 对开发工程师来说,开发上的多方面的要求,主要来自于软件工程的需求。软件工程要求,在预定的时间内,推出来相应更好的产品。 开发视角什么是更好的产品? 性能良好 维护容易 扩展方便 复用性好 健壮性好 性能良好 目标:马儿跑得快,马儿不吃草 运算速度快 选用时间空间复杂度更好的算法,避免常见的性能陷阱 性能良好 占用资源少 更好的抽象,选用更加适合的方案,数据结构,类定义等 维护容易 快速调整和纠错能力 分治-清晰的模块化 解耦-每个模块各司其责,避免相互接触 明确的输入和输出 较多不同类型的输入和不同类型的输出,如果发生要分解 全覆盖的log 出现问题,快速重现和追踪 扩展容易 事情之初,管理好差异性,让新增加功能变得容易,尽可能的只做差异性支持的新增,避免原先功能的改动。 复用性良好 重复的事情尽可能只做一遍,抽象共性。 避开差异性陷阱通用接口的模块化,通过差异性和共性分析提取接口。 熟习设计模式 健壮性好 充分考虑输入情况,避免流程中途出现crash,清晰的输入和输出情况,避免缺漏 自动化的单元测试,确保基线功能完备 二,回到代码层面 对代码抽象,把握其关节 对代码的理解 变量 表达式 方法 类 包模块 多个包组成的jar 软件产品 它们的共性抽象 代码可以视为“数据 + 逻辑” 逻辑抓牢 “输入 + 输出” 三,面向过程与面向对象 根本性的区别点 有没有对象思维 有没有隔离封装 有没有角色抽象 思考方法 考虑这应该是谁的数据? 考虑这应该是谁的逻辑? 考虑这应该不应该形成对象? 考虑这应该形成什么样的对象? 指导思想 通过数据+逻辑的封装,形成对象的自维护,进而达成大问题的良好分治。 四,代码常见问题 类同代码 纯过程式代码 杂乱缺乏封装 复用性不好 代码耦合 硬编码,魔数 过大的类和方法 五,设计原则与模式 单一职责原则 类和接口职责单一 开放封闭原则 对修改关闭对扩展开放 isA 继承 hasA 合成/聚合 里氏替换原则 可以通过接口来调用子类 设计原则与定式 依赖倒置原则 依赖底层的接口 接口隔离原则 接口的方法要尽可能的少 是小接口 避免万金油接口 六,模式与设计模式 模式 《圣经》There is no new thing under the sun 太阳底下没有新鲜事,历史会重演,体会模式使用模式。 波浪上升,螺旋发展等全息模型下,产生了包罗万象的模式如图仔细体会身边的事务,不断的在重演,跟一天24小时时钟 的运转非常的相似。 自然的模式 自然界的模式 自然界的模式 自然界的模式 自然界的模式 为什么会有这些不为人知的模式? 数学规律 软件模式 设计模式 《Gof23设计模式》 创建型模式: 单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。 结构型模式: 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 行为型模式: 模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。 UML 包库 类图 流程图 用例图 四,实例讲解 MouseListener KeyListener 谢谢!

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档