`
胡笨笨
  • 浏览: 159815 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

《大话设计模式》读书笔记一

阅读更多

     今天开始看大话设计模式,觉得通俗易懂,作为设计模式的入门书再好不过。很惭愧现在才说设计模式入门,作为不是软件专业出身缺入了软件行业的门的小菜,在工作后也用到了一些设计模式,但是却没有系统的学习,所以在读的过程中,经常做恍然大悟状,哦,原来叫这个名,哦,原来是这么个原理,不过亡羊补牢,为时未晚,决定花一周时间,认认真真把书读完,我笔记记好,同时,也分享给大家。

 

    书中作者通过大鸟的口说出了自己对编程的见解:“编程时一门技术,更加是一门艺术,不能只满足于写完代码运行结果正确就完事,时常考虑如何让代码更加简练,更加容易维护,容易扩展和复用,只有这样才可以真正得到提高。”我想,一个真正热爱编程的人,终极目标一定是可以优雅的写代码,写出优雅的代码。刚上大学时,我就有告诉自己要做一个优雅的女子,工作了误入了程序员这个行业,也不能阻止我这个想法,那就当一个优雅的女程序员吧。

 

开始正式的学习喽!

聚合表示一种弱的‘拥有’关系,体现的是A 对象可以包含B 对象,但B 对象不是A 对象的一部分
比如:大雁与雁群这两个类,大雁是群居动物,每只大雁都是属于一个雁群,一个雁
群可以有多只大雁。所以它们之间就满足聚合(Aggregation)关系。

合成(Composition,也有翻译成 ‘组合’的)是一种强的 ‘拥有’关系,体现了严格的部

分和整体的关系,部分和整体的生命周期一样[DPE]。比如:鸟和其翅膀就是合成(组合)关系,因为

它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。

 

策略模式(Strategy):它定义了算法家族,分别封装起来看,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。


总结一句:策略模式封装了变化。


策略模式使用场景:策略模式就是用来封装算法的,但是实践中,我们发现可以用它来封装集合任何类型的规则,只要在分析过程中听到需要在不同实践应用不同业务规则,就可以考虑使用策略模式处理这种变化的可能性。

 

在实际的编码过程中,模式都不是单一存在的,多种模式可以整合,得到1+1>2的效果。

 

今天的笔记到此为止,明天继续读书!   

 

 

 

0
2
分享到:
评论

相关推荐

    大话设计模式阅读笔记

    NULL 博文链接:https://helei050.iteye.com/blog/2086309

    树懒- 大话设计模式笔记

    树懒自己整理的大话设计模式的修行笔记,对程序设计有很大的帮助,主要是以自己学习的习惯整理的!

    大话设计模式学习笔记.pdf

    大话设计模式学习笔记.pdf

    designPattern:根据学习《大话设计模式》一书,所记录的笔记以及代码

    根据学习《大话设计模式》一书,所记录的笔记以及代码编写 安装教程 所需环境为java1.8 eclipse 或IDEA均可,项目为纯Java项目 使用说明 仅供参考,如有不合理的地方,欢迎指正!!! 邮箱: 参与贡献 cjn

    《Head First设计模式》读书笔记 -- (第一章)策略模式

    NULL 博文链接:https://never-say-never.iteye.com/blog/851923

    大话设计模式总结.docx

    设计模式整理源文件,主要是自己的一些读书笔记方便后期回顾和学习,看书还是要写一些文档才行这样也是一个思考和再整理的过程

    设计模式学习

    大话设计模式笔记

    ios-Swift设计模式面面观.zip

    最近在看《大话设计模式》一书,深感设计模式的重要性,因此将 Swift 3.0 的实现版本发布于此,方便自己学习并与大家交流。 由于设计模式较多,且个个之间并非完全独立,有许多思想是相通的,我将每个设计模式...

    java版中国象棋源码-hello-design-pattern:设计模式学习笔记

    设计模式学习笔记,此项目参考《大话设计模式》,只能作为入门级设计模式学习 设计原则 职责单一原则 开放-封闭原则 依赖倒转原则 高层模块不依赖底层模块,两个模块都应该依赖抽象。抽象不依赖细节,细节依赖抽象。...

    数据结构与算法.xmind(思维导图)

    数据结构与算法(大话设计模式)自己做的笔记

    asp.net知识库

    Essential .NET 读书笔记 [第一部分] NET FrameWork的Collections支持 .NET的反射在软件设计上的应用 关于跨程序集的反射 实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述...

    软件测试面试题总结

    java程序员面试宝典、java程序员的基本修养、大话设计模式只看了重要的 )、测试相关(软件测试的艺术、从菜鸟到测试架构师、软件测试技术大全、selenium,qtp,junit的一些相关资料和书)、linux看了一点(鸟哥的...

    javalruleetcode-Test:用于各种测试代码的运行测试工程

    java lru leetcode 这个项目记录的我大学伊始至今的所有测试代码和学习内容,下面将介绍每个包对应的内容,因为大学期间加入了袂卓工作室(这是我大学最重要的决定之...FunnyDesignPatterns:大话设计模式中的例子,有

    Today-I-Learned:只需添加一些个人笔记,请不要在此回购中添加“星标”。

    我今天学到的(TIL) 只是写一些笔记,...2021年的书籍清单:大话设计模式TypeScript程式设计零规则无规则肯特·贝克(Kent Beck)的实作模式(有点深的一本书)深度浅出物件导向分析与设计创客创业导师程天纵的专业力

    java8集合源码分析-javaLearner:java学习者

    《深入理解Java虚拟机》、《并发编程的艺术》、《Java多线程核心编程艺术》、《Java8函数式编程》、《Redis设计与实现》、《RocketMQ技术内幕》...内幕》、《Spring源码深度解析》、《剑指Offer》、《大话设计模式》......

    srs audio sandbox

    5.1环绕声(本款软件的主打,相信你会喜欢,建议有5.1声卡的台式机选择) Auto:自动选取音效处理 Rendering: 手动音效处理模式 有四个 1.WOW HD:加强音乐双声音效音质,增强压缩和未压缩音频性能,在水平和垂直扩展...

Global site tag (gtag.js) - Google Analytics