- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
透视软件设计原则与本质
透视软件设计原则与本质
[分享概要]面对纷繁复杂的软件系统,如何利用设计原则和模式提炼出解决方案?是从软件设计中寻找普遍存在的规律,还是透过设计看本质,利用本质的思想与原则来指导我们的设计?学习设计模式,如何才能做到既不流于内容空泛的理论堆砌,又不至于陷入细节的泥沼,一叶障目,以偏概全,失去把握设计脉络的大局观。本次课程通过阅读大师作品,解析JUnit和NHibernate等著名开源框架,以及.NET框架和JDK API,通过理论指导实践,通过实践抽象理论,对软件设计进行一次提炼与升华,是思想、原则与模式的大碰撞。七种武器迭出,助你劈荆斩棘,越过迷雾透晓设计本质。课程大纲:
提纲
武器一:复用(Reusability) 代码的坏味道——解决方案蔓延DRY原则复用的方式——继承与组合对象的粒度——迪米特法则合理的封装保持对象的高内聚模式参考- 简单工厂模式- 原型模式- 代理模式- 门面模式- 模板方法模式阅读大师作品:JUnit中对异常的重用JUnit中的Assert断言- ASP.NET MVC中的Copy Constructor- 泛型工厂类 武器二: 扩展(Extensibility)
如何实现扩展- 利用继承实现扩展- 利用组合实现扩展- 利用继承与组合实现扩展- 利用抽象实现扩展模式参考- 装饰器模式- 访问者模式- 策略模式- 命令模式- 状态模式- 职责链模式- 观察者模式阅读大师作品- JDK中线程的运用- .NET中对文件流的处理 武器三:分离(Separation) 职责分离分离与抽象、依赖的解耦分离体现的设计原则- 单一职责原则- 接口隔离原则- 合成/聚合复用原则对象的职责- 如何定义职责- 如何分解职责- 如何抽象职责分离的目标- 分离变与不变- 分离接口与实现- 分离数据与行为模式参考- 工厂方法模式- 建造者模式- 桥接模式- 迭代器模式- MVC模式- 分层架构模式阅读大师作品- JUnit中的职责委派- JDK中对日志的处理- RuleParser 武器四:变化(Change) 封装变化- 封装创建的变化- 封装结构的变化- 封装行为的变化应对变化应遵循的原则- 开放封闭原则- 依赖倒置原则解除具体依赖- 配置文件与反射- 表驱动法- 依赖注入- 惯例优于配置隔离变化- 通过分离隔离变化- 通过抽象隔离变化- 利用依赖注入隔离变化模式参考- 工厂方法模式- 抽象工厂模式- 装饰器模式- 策略模式- 命令模式阅读大师作品- NHibernate中对延迟加载的支持- JUnit中的TestListener 武器五:简约(Simplicity) 极限编程的KISS原则根据场景驱动设计避免设计过度如何实现简约- 封装有利于简约:职责的封装- 继承有利于简约:职责的复用- 多态有利于简约:职责的委派简约的本质:简单+优雅重构和精益求精如何考量简约- 可复用性- 可扩展性- 可测试性- 可读性模式参考- 门面模式- 调停者模式- 适配器模式- 入口模式阅读大师作品- JDBC中的DataSource- NHibernate中的SessionFactory和Configuration- LINQ中的DataContext 武器六:一致(Coherence) 软件结构的和谐与平衡体现一致的方式- 接口的一致——对于实现可替换- 形式的一致——窥一斑而知全豹- 调用的一致——客户可透明访问- 解决方案的一致——团队合作的基石惯例优于配置Liskov替换原则模式参考- 适配器模式- 合成模式- 代理模式- 门面模式- 单例模式- 空对象模式阅读大师作品- JUnit中的TestCase和TestSuit- WCF的Endpoint 武器七:一致(Coherence) 以迂为直的设计思想如何实现间接- 职责的委派- 职责的封装- 职责的抽象间接的目的- 降低耦合- 化繁为简- 隐藏细节模式参考- 门面模式- 代理模式- 调停者模式- 入口模式- 资源库模式- 分层架构模式阅读大师作品- .NET Remoting的客户端激活
您可能关注的文档
最近下载
- 国家职业技术技能标准 4-10-01-03 保育师 人社厅发[2021]92号.docx
- 教师电子教案申请书模板.docx VIP
- 个人信用报告征信简版电子版PDF版2024年2月最新版带水印可编辑.pdf VIP
- 2025至2030中国电力生产行业市场发展分析及发展潜力与投资报告.docx
- 人教版(2024年新版)七年级上册数学全册教学设计.docx
- 高分子材料概述课件幻灯片课件.ppt VIP
- 财务报表基础知培训.ppt VIP
- 部编版小学四年级上册全册心理健康教育教案.docx VIP
- 《给水排水管道工程施工及验收规程》GB50268-2023.docx VIP
- 安全隐患排查治理台帐.doc VIP
文档评论(0)