《Java入门从笨鸟到菜鸟》读后感(三)

三、升级

1、设计模式遵循的七大原则
(1)开闭原则Open Close Principle:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭
(2)里氏代换原则 Liskov Substitution Principle:子类型必须能够替换掉它们的父类型
(3)依赖倒转原则Dependence Inversion Principle:除了依赖的接口,不相互影响,面向接口编程
(4)接口隔离原则Interface Segregation Principle:建立单一接口,尽量细化接口
(5)组合/聚合复用原则:不是通过继承关系达到复用的目标
(6)迪米特法则Law Of Demeter:类之间的松耦合,类之间的耦合越弱越有利于复用
(7)单一职责原则Single Responsibilty Principle:一个类只负责一项职责

2、设计模式分类
(1)创建型的设计模式
单例模式Singleton,构建模式Builder,原型模式Prototype,抽象工厂模式Abstract Factory,工厂方法模式Factory Method

(2)行为设计模式
策略模式Strategy,状态模式State,责任链模式Chain of Responsibility,解释器模式Interpreter,命令模式Command,观察者模式Observer,备忘录模式Memento,迭代器模式Iterator,模板方法模式Template Method,访问者模式Visitor,中介者模式Mediator

(3)结构型设计模式
装饰者模式Decorator,代理模式Proxy,组合模式Composite,桥连接模式Bridge,适配器模式Adapter,蝇量模式Flyweight,外观模式Facade

3、抽象工厂模式
(1)抽象工厂模式是指当有多个抽象角色时使用的一种工厂模式
(2)抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体情况下,创建多个产品族中的产品对象
(3)工厂类负责创建抽象产品的具体子类的实例

4、单例模式Singleton
(1)单例模式属于对象创建型模式,保证一个类中仅有一个实例,并提供一个访问呢它的全局访问点
(2)单例模式构造函数是私有的
(3)饿汉式单例,懒汉式单例
(4)优点

内存中只有一个对象,节省内存空间
避免频繁的创建销毁对象,可以提高性能
避免对共享资源的多重占用
可以全局访问

(5)方式:getInstance()方法只能得到同一个实例
(6)饿汉式单例和懒汉式单例由于构造方法是private的,不可继承
(7)其他很多单例模式,可以继承,如登记式单例

5、策略模式
(1)Strategy属于设计模式中对象行为模式,主要定义一系列的算法,把这些算法一个个封装成单独的类
(2)图示
6、创建者模式
(1)创建者模式负责构建一个对象的各个部分,并且完成组装的过程
(2)针对复杂产品生产,分离部件构建细节,达到良好的伸缩性
(3)把复杂对象的构过程从对象的表示中分离出来
(4)直接效果是将一个复杂的对象简化为一个比较简单的对象,强调产品的构造过程
(5)提供一种封装机制来隔离出复杂对象的各个部分的变化,从而保持系统的“稳定构建算法”不随需求改变而改变
(6)Builder接口必须定义完整的组装流程,一旦定义就不能随意的动态修改
(7)Builder与具体的对象之间有一定的依赖关系,必须知道具体的流程

7、原型模式
(1)Prototype模式允许一个对象再创建另外一个可定制的对象
(2)原型模式最大的特点是基于现有的对象克隆一个现有的对象

《Java入门从笨鸟到菜鸟》读后感(三)相关推荐

  1. 读《富爸爸,穷爸爸》后感(三)

    虽互不曾谋面,但希望能和你成为笔尖下的朋友 以读书,技术,生活为主,偶尔撒点鸡汤 不作,不敷衍,意在真诚吐露,用心分享 点击左上方,可关注本刊 时长:27:38 主播:一个靠前排的90后帅小伙 撰文 ...

  2. 读书笔记之富爸爸穷爸爸

    富爸爸穷爸爸 作者:罗伯特.T.清崎 莎伦.L.莱希特 序言 本书献给全世界的父母--孩子们最重要的老师 一代一代重复"老鼠赛跑" 跳出"老鼠怪圈"的唯一方法是 ...

  3. 【书虫录】富爸爸穷爸爸

    前言 笔者文章以及前端技术文合集详见Github:Nealyang/PersonalBlog 关注我公众号的都知道,我们在 2020 年初约定了彼此的 Flag. 一时冲动... 但是话都说出去了,总 ...

  4. 如果想赚钱,先学理财吧,那么入门书籍有哪些?富爸爸穷爸爸 名副其实NO1

    花了一个周末,读完<富爸爸穷爸爸>这本书.我读的是四川出版社出版,富爸爸财商教育系统20周年修订版. 相信很多人都读过,但不一定是这版.如何记住或吃透一本书,并理解它.我觉得读书笔记是个不 ...

  5. 《富爸爸穷爸爸》摘录

    第一章 富爸爸穷爸爸 富人之所以越来越富,穷人之所以越来越穷,中产阶级之所以总是在债务的泥潭中挣扎,其中一个主要原因就是,他们对金钱的认识不是来自学校,而是来自家庭.大多数人都是从父母那了解赚钱是怎么 ...

  6. 财商密码——《富爸爸.穷爸爸》读后感

    前引 本来是只想写一个<富爸爸.穷爸爸>的书评的,但是有一件事情,让我开始对于这本书的态度有了很大的转变,同时对川普的认识有了一定的转变.转变观点的原因是看了<undercover ...

  7. 中国式富爸爸穷爸爸—富爸爸如何教育大学毕业生

    小明失业了,今年从北京的大学毕业后就加入了学生期间兼职两年的广告公司,无奈今年金融危机冲击了广告业,公司前两年扩张太快欠了很多的债.小明趁机会回南京老家休息调整一下,父亲是一所学校的校长,小明爱读&l ...

  8. 读书笔记——《富爸爸穷爸爸》

    <富爸爸穷爸爸>,以前不屑读这种书.这种书就是那种走进书店放在门口展销位的成功学著作,一眼看上去没什么实在的内容,看上去很不靠谱,感觉就是骗一些社会底层又做着暴富梦的人来买的,但是由于自身 ...

  9. 富爸爸穷爸爸害了我_这是我必须告诉爸爸的-在我们的时间用完之前

    富爸爸穷爸爸害了我 by Bram Bos 通过Bram Bos 这是我必须告诉爸爸的-在我们的时间用完之前 (This is what I must tell my dad - before our ...

  10. 《富爸爸,穷爸爸》思维导图

    富爸爸穷爸爸 富爸爸穷爸爸 富爸爸穷爸爸 <富爸爸穷爸爸>读书笔记 富爸爸穷爸爸 富爸爸穷爸爸的读书笔记,思维导图 富爸爸穷爸爸 该书讲述了清崎有两个爸爸:"穷爸爸"是 ...

最新文章

  1. nodejs,express链式反应
  2. Linux文件属性及如何修改文件属性
  3. 典范杜希奇与机器人_典范英语7_16 杜希奇与机器人.ppt
  4. python中说_name_没有被定义_python – 为什么我得到这个NameError:名称’url_for’没有定义?...
  5. 2019,燃烧的中国开源年
  6. jj为什么会变大变小_胡杏儿怀二胎不解鼻子为何变大?其实,还有三个部位变大的更厉害...
  7. 表格标签(HTML)
  8. python画3d图-python之画三维图像
  9. NSSM 制作 window 服务
  10. iOS开发中对音效和音乐播放的简单实现
  11. GXOI2019 题解
  12. 数组中的键值对去重_数组去重-
  13. MySQL、JDBC、HTML、CSS、JavaScript、jQuery、tomcat、Http、Servlet、JSP、EL、JSTL、Maven、Cookie、Session(框架第一部分)
  14. iOS App添加扩展App Extension
  15. 传统 Java 网站如何实现容器化?看看 Cars.com 如何玩转 Docker!
  16. 克劳士比语录(转载)
  17. 【 newcoder 】幼儿园战争 【并查集+删并查】
  18. 【HSI】高光谱的数据集分类深度学习实战及代码理解
  19. 【文献翻译】软件设计级漏洞分类模型-Software Design Level Vulnerability Classification Mode
  20. 数字IC设计工程师成长之路

热门文章

  1. Command line is too long. Shorten command line for EpsFrontApplication or also for Spring Boot defau
  2. SpringBoot集成WebSocket实现在线聊天
  3. php mysql 查看错误_PHP mysql查询语法错误
  4. ARM base instruction -- 简单三级流水线
  5. jquery file upload 与 uploadify
  6. python3.7.3安装教程windows 10_WIN10系统如何完全卸载Python 3.7.0软件? | 我爱分享网...
  7. Codewars刷题升级 (Python)5Kyu Pete, the baker 皮特,面包师
  8. 最老程序员开发实训10--Android---应用介绍页面实现2
  9. Ubuntu 16.04 安装思维导图freemind
  10. 计算机网络 P43 网络应用模型 P44 DNS系统 P45 FTP文件传输协议