`
0428loveyu
  • 浏览: 30798 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

《设计模式之禅》 - 书摘精要

 
阅读更多
(P2)
BO (Business Object) 业务对象;
BL (Business Logic) 业务逻辑;

(P13) 如果子类不能完全实现父类的方法,或者父类的某些方法在于子类中已经发生“畸变”,则建议断开父子继承关系,采用依赖、聚合、组合等关系代替继承;

(P24) 在 Java 中,只要定义变量就必然要有类型,一个变量可以有两种类型:表面类型和实际类型,表面类型是在定义的时候赋予的类型,实际类型是对象的类型;

(P25)
依赖的三种写法:
1. 构造函数传递依赖对象;
2. Setter 方法传递依赖对象;
3. 接口声明依赖对象;

(P26)
依赖倒置原则最佳实践:
1. 每个类尽量都有接口或抽象类,或者抽象类和接口两者都具备;
2. 变量的表面类型尽量是接口或抽象类;
3. 任何类都不应该从具体类派生;
4. 尽量不要覆写基类方法;
5. 结合里氏替换原则使用;

(P27)
依赖倒置原则是6个设计原则中最难以实现的原则,它是实现开闭原则的重要途径,依赖倒置原则没有实现,就别想实现对扩展开放,对修改关闭。在项目中,大家只要记住是“面向接口编程”就基本上抓住了依赖倒置原则的核心;

(P42) 迪米特法则要求类“羞涩”一点,尽量不要对外公布太多的 public 方法和非静态的 public 变量,尽量收敛,多用 private 、 package-private 、 protected 等访问权限;

(P71) 工厂方法模式是 new 一个对象额的替代品,所以在所有需要生成对象的地方都可以使用;

(P73) 简单工厂模式 (Simple Factory Pattern) 也叫做静态工厂模式;

(P84)
有 N 个产品类,在抽象工厂类中就应该有 N 个创建方法;

有 M 个产品等级就应该有 M 个实现工厂类,在每个实现工厂中,实现不同产品族的生产任务;

(P141) 不通过 new 关键字产生一个对象,而是通过对象复制来实现的模式就叫原型模式;

(P145) 深拷贝和浅拷贝建议不要混合使用,特别是在涉及类的继承时,父类有多个引用的情况就非常复杂,建议的方案是深拷和浅拷贝分开实现;

(P166) 用字符串来传递命令并不是一个非常好的方案;
分享到:
评论

相关推荐

    《精通CSS与HTML设计模式》(Pro CSS and HTML Design Patterns)中文版高清扫描版[PDF](part08)

    每种设计模式、示例和源代码都经过了精心设计,易于实现和使用。通过阅读此书,可大大提高读者在Web 设计和开发中的效率和创造力。 本书结构清晰,示例丰富,实践性强,适用于所有Web 开发和设计人员。 编辑推荐 ...

    swift-模仿书摘中心的展开按钮封装的一个控件

    在Swift编程语言中,开发UI界面时,我们经常需要创建自定义控件来满足特定的设计需求。本项目“swift-模仿书摘中心的展开按钮封装的一个控件”就是这样一个例子,它模仿了书摘中心的展开按钮效果,提供了一个轻量级...

    编写高质量代码 Web前端开发修炼之道 书摘精要

    《编写高质量代码 Web前端开发修炼之道》是一本深入探讨前端开发实践与技巧的书籍,旨在提升Web应用的质量和可维护性。书中强调了遵循Web标准的重要性,这些标准主要分为结构、样式和行为三大部分。 结构标准包括...

    多看kindle书摘导出工具

    【多看Kindle书摘导出工具】是一种实用的软件工具,专为用户设计,用于从多看Kindle系统中提取书摘,并将其导出为易于管理的TXT文本格式。这款工具极大地提升了阅读爱好者整理和回顾笔记的效率,使得珍贵的阅读心得...

    初中语文文摘文苑微书摘

    【标题】:“初中语文文摘文苑微书摘”与我们探讨的是人生哲理与科学思考,虽然表面上看似与IT技术无关,但其中蕴含的思维方式和观察问题的角度对IT从业者同样具有启示作用。 【描述】:“初中语文文摘文摘”暗示了...

    BookSnippets:更快地存储书摘!-开源

    BookSnippets是一个高效且便捷的工具,专为读书爱好者和学生设计,旨在帮助他们更好地管理、检索和分享书中的精彩片段。这款应用采用Python编程语言,结合Tkinter图形用户界面库和Pmw扩展库进行开发,实现了对书摘的...

    《iOS6开发指南》精彩书摘

    2. **iOS常用设计模式**:包括单例模式、委托模式、观察者模式和MVC模式。书中解释了这些模式的适用场景、实现原理和具体案例。 3. **UIView与控件**:学习了视图和控件的关系、界面构建层次,以及如何使用标签、...

    一款很棒的书摘软件 微信小程序 中山大学软件创新大赛十强参赛项目.zip

    这款书摘软件的创新之处可能在于如何将微信小程序的特性与阅读体验完美结合,提供无缝的书摘服务。 总的来说,这款中山大学软件创新大赛十强的书摘软件微信小程序,凭借其便捷的书摘功能、智能化的整理方式、丰富的...

    WPF in action 书摘 (上)

    - **WPFbinding模式**:数据绑定是WPF中最强大的功能之一,它允许UI自动同步数据源的变化。 - **使用binding**:在XAML中使用`{Binding}`语法来指定数据源。 - **在代码中设定binding**:可以通过代码来设置数据...

    2021年读书-《心智、知识与道德》书摘:社会主义计算大论战.docx

    2021年读书-《心智、知识与道德》书摘:社会主义计算大论战.docx

    行业文档-设计装置-多功能书签.zip

    它的市场定位、营销策略以及与出版行业的合作模式也是设计装置领域需要关注的商业方面。 6. **知识产权**:在设计装置的开发过程中,保护知识产权是非常关键的。设计师可能需要申请专利,以防止他人复制或侵权。 7...

    书摘_全新思维 ppt 文件

    全新思维的书摘,看看别人怎么解读这本书,希望能对您有点帮助

    书摘

    书摘

    初中语文文摘生活名人名言解读_书摘

    初中语文文摘生活名人名言解读_书摘

    韦尔奇新着《赢》经典书摘.EXE

    韦尔奇新着《赢》经典书摘.EXE

    行业文档-设计装置-新型阅读书签.zip

    在本压缩包“行业文档-设计装置-新型阅读书签.zip”中,主要包含了一份名为“新型阅读书签.pdf”的文件。这份文档很可能是关于设计领域的一个创新项目,特别是针对阅读体验的提升。书签作为阅读辅助工具,历史悠久,...

    初中语文文摘文苑微言与书摘

    这不仅让学生们认识到阅读文学作品的美妙之处,也让他们意识到去探索和保护那些珍贵的文化遗产的重要性。 而罗伯兹在《项塔兰》中对现代社会的剖析,则为青少年揭示了一个冷酷的现实:现代人普遍感到孤独和恐惧,...

    《趁年轻 折腾吧》ppt书摘.rar

    通过《趁年轻 折腾吧》的PPT书摘和读书笔记,我们可以更直观地理解和吸收这些知识点,将作者的理念融入到自己的生活和工作中,激发自己的潜力,创造更加精彩的人生。而51pptmoban.com这个文件名可能是指一个提供PPT...

Global site tag (gtag.js) - Google Analytics