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

《设计模式其实很简单》 - 书摘精要

 
阅读更多
(P9)

需要足够简单的逻辑,才可以在代码级别上违反单一职责“原则”;
需要类中方法数量足够少,才可以在方法级别上违反“单一职责原则”;

(P14)

“开放-封闭”原则是面向对象开发中所有设计原则的核心;

(P15)

“开发-封闭”原则的定义是 —— 程序的实体对象(模块、类、函数等)应该可以进行扩展,但不应该可以修改;

(P17)

只依赖于抽象,实现“开放-封闭”原则的核心思想就是面向抽象编程,而不是面向具体编程,因为抽象相对来说是稳定的;

(P20)

实现“开放-封闭”原则的关键就是实现抽象化,并且从抽象化得出具体化的实例;

(P21)

在编程中,用哪种语言来编写程序并不重要,只要编写代码时考虑的是如何针对抽象进行编程而不是针对细节编程 —— 程序中所有的依赖关系都终止于抽象类或者接口,这才是真正的面向对象设计;

(P24)

合成和聚合都是关联关系的特殊种类,合成本质上是值的聚合,聚合是引用的聚合;

在面向对象设计中,有两种基本的办法可以实现复用:第一种是通过合成/聚合,即合成/聚合复用原则(CARP);第二种就是通过继承;

(P29)

“迪米特法则”的定义 —— 如果两个类之间不必直接通信,则这两个类不应该发生直接的相互作用。如果其中的一个类需要调用另一个类的某个方法,可以通过第三方转发这个调用;

类之间的耦合越弱,越有利于复用;

(P39)

Java 中没有虚函数,也可以说类的每一个函数都是虚函数,都可以来重写 (Override);

(P43)

“工厂方法模式”也有其缺点:每增加一个产品,就要相应地添加一个产品工厂类,增加了额外的开发量;

(P51)

通过“反射”技术能够避免 If 和 Switch 使用的缺点,使得程序的灵活性有大幅度的提高;

(P52)

“抽象工厂”接口确定了可以被创建的产品集合,新种类产品的加入需要扩展抽象工厂接口,这就涉及到了接口本身和所有实现类的改变;

(P53)

实践是学习编程的最好方法;

(P61)

“==” 对于值类型会判断其值是否相等,而对于引用类型则会判断引用(内存地址)是否相同,也就是判断是否是同一个对象;

对于引用类型,“==” 运算符只是调用了对象的 equals 方法;

(P75)

“建造者模式”是面向对象中“多态”特性的一个非常好的应用;

(P169)

抽象方法是必须被子类重写的,不然编译器会报错;

(P264)

一般情况下,“结构型模式”都是使用继承机制将接口进行组合以及实现;
分享到:
评论

相关推荐

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

    每种设计模式、示例和源代码都经过了精心设计,可以很方便地在实际项目中使用。本书既是一部优秀的教程。可以系统而深入地学习CSS和HTML;也是不可或缺的参考书,可以大大提高你在Web设计和开发中的效率和创造力。 ...

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

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

    多看kindle书摘导出工具

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

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

    这款名为“一款很棒的书摘软件”的微信小程序是中山大学软件创新大赛的十强参赛项目,彰显了其在创新和技术实现上的优秀品质。作为一个专注于书籍摘要和笔记的应用,它为用户提供了便捷的方式来记录和整理阅读过程中...

    初中语文文摘文苑微书摘

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

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

    样式标准则是CSS,它允许开发者独立地定义页面元素的外观和布局,使页面设计更加灵活和统一。行为标准涵盖DOM(文档对象模型)和ECMAScript(JavaScript的标准版本),它们处理网页的交互和动态功能。 书中提到了...

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

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

    《iOS6开发指南》精彩书摘

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

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

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

    WPF in action 书摘 (上)

    ### WPF in Action 书摘知识点总结 #### 资源(Resource)的使用与查找路径 **资源**是WPF应用程序中的一个核心概念,它允许开发者以一种灵活且可复用的方式管理各种UI元素,如颜色、字体、图像等。 ##### 查找路径...

    书摘_全新思维 ppt 文件

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

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

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

    书摘

    书摘

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

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

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

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

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

    这份文档很可能是关于设计领域的一个创新项目,特别是针对阅读体验的提升。书签作为阅读辅助工具,历史悠久,但随着数字化时代的到来,它的形态和功能也正经历着变革。下面将深入探讨新型阅读书签可能涉及的设计理念...

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

    刘瑜则通过“雾”的比喻,探讨了人们如何用幻想来遮掩生活的简单残酷,追求未来的未知。齐泽克对爱情的定义是接纳对方的不完美,认为这才是真正的爱,它能让我们在不完美中看到完美,感受到生活的价值。 林少华分享...

Global site tag (gtag.js) - Google Analytics