• ·结构型模式:

o适配器:用来把一个接口转化成另一个接口,如 java.util.Arrays#asList()。

o桥接模式:这个模式将抽象和抽象操作的实现进行了解耦,这样使得抽象和实现可以独立地变化,如JDBC;

o组合模式:使得客户端看来单个对象和对象的组合是同等的。换句话说,某个类型的方法同时也接受自身类型作为参数,如 Map.putAll,List.addAll、Set.addAll。

o装饰者模式:动态的给一个对象附加额外的功能,这也是子类的一种替代方式,如 java.util.Collections#checkedList|Map|Set|SortedSet|SortedMap。

o享元模式:使用缓存来加速大量小对象的访问时间,如 valueOf(int)。

o代理模式:代理模式是用一个简单的对象来代替一个复杂的或者创建耗时的对象,如 java.lang.reflect.Proxy

  • ·创建模式:

o抽象工厂模式:抽象工厂模式提供了一个协议来生成一系列的相关或者独立的对象,而不用指定具体对象的类型,如 java.util.Calendar#getInstance()。

o建造模式(Builder):定义了一个新的类来构建另一个类的实例,以简化复杂对象的创建,如:java.lang.StringBuilder#append()。

o工厂方法:就是 一个返* 回具体对象的方法,而不是多个,如 java.lang.Object#toString()、java.lang.Class#newInstance()。

o原型模式:使得类的实例能够生成自身的拷贝、如:java.lang.Object#clone()。

o单例模式:全局只有一个实例,如 java.lang.Runtime#getRuntime()。

  • ·行为模式:

o责任链模式:通过把请求从一个对象传递到链条中下一个对象的方式,直到请求被处理完毕,以实现对象间的解耦。如 javax.servlet.Filter#doFilter()。

o命令模式:将操作封装到对象内,以便存储,传递和返回,如:java.lang.Runnable。

o解释器模式:定义了一个语言的语法,然后解析相应语法的语句,如,java.text.Format,java.text.Normalizer。

o迭代器模式:提供一个一致的方法来顺序访问集合中的对象,如 java.util.Iterator。

o中介者模式:通过使用一个中间对象来进行消息分发以及减少类之间的直接依赖,java.lang.reflect.Method#invoke()。

o空对象模式:如 java.util.Collections#emptyList()。

o观察者模式:它使得一个对象可以灵活的将消息发送给感兴趣的对象,如 java.util.EventListener。

o模板方法模式:让子类可以重写方法的一部分,而不是整个重写,如 java.util.Collections#sort()。

转载于:https://www.cnblogs.com/DreamRecorder/p/9271967.html

一句话的设计模式(JAVA版)相关推荐

  1. 模式——工程化实现及扩展(设计模式Java 版)

    -- 模式--工程化实现及扩展(设计模式Java 版) 王翔,孙逊著 ISBN 978-7-121-15638-0 2012年4月出版 定价:59.00元 16开 416页 内 容 简 介 设计模式不 ...

  2. 大话设计模式、UML、设计模式Java版完全总结

    此篇博客为阅读大话设计模式后的笔记记录( 读完本文>≈读完<大话设计模式> ),注意是笔记形式,优先适合于对设计模式有一定了解的读者,希望短时间快速温习的读者,同时也对所有设计模式添 ...

  3. 设计模式-Java版

    声明: 本内容主要根据刘韬著<秒懂设计模式>一书,外加网上一些参考文档综合整理记录而来,仅用于个人学习,不用做任何商业用途. 0 原则 面向对象软件设计遵循的5大原则:S.O.L.I.D ...

  4. 小白都能懂的设计模式 java版 原型模式 存在浅拷贝问题以及解决办法(超详细)

    在这一节里,https://blog.csdn.net/weixin_45806131/article/details/109282894 是一个浅拷贝,v1和v2同时指向date, 写个例子: pa ...

  5. 小白都能懂的设计模式 java版 抽象工厂模式 实战练习(超详细)

    比如要生产华为手机,华为路由器,小米手机,小米路由器 先写路由器和手机的接口: package abstract1;//手机产品接口 public interface IphoneProduct {v ...

  6. 小白都能懂的设计模式 java版 静态代理模式实战练习(超详细)

    静态代理: 角色分析: 抽象角色:一般使用接口或者是抽象类来解决 真实角色:被代理的角色 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作 客户:访问代理对象的人 以一个租房子的例子来 ...

  7. java版溺尸掉三叉戟吗_《我的世界》一句话评价老MC的富有?萌新:他有54根三叉戟!...

    听说三叉戟成为炫富新方式了? 当好友晒出自己满满一箱54根三叉戟的时候,方块菌莫名地有些心酸.想自己兢兢业业在海边蹲守,甚至用自己"鲜美"的身体来诱惑溺尸,才打到一两把三叉戟,差别 ...

  8. [科幻]Java版三体中黑暗森林法则的猜想

    这两天去电影院看了<星际穿越>,作为大刘的磁铁发现里面有许多元素和<三体>近乎一样,只是小说文字被好莱坞完美视觉化了,很怀疑导演诺兰在拍这部片子之前是否看过了<三体> ...

  9. 深入解析棋牌湖南放炮罚,跑胡子手游源码(java版)

    深入解析棋牌湖南放炮罚,跑胡子手游后台源码(java版) 最近开发了一款湖南放炮罚的房卡模式带三级分销的手游,现在我就将我开发中的思路给朋友们分享一下. 首先介绍一下棋牌游戏最近的火热度吧. 最近微信 ...

最新文章

  1. 98年“后浪”科学家,首次挑战图片翻转不变性假设,一作拿下CVPR最佳论文提名​...
  2. 成功解决''g++' 不是内部或外部命令,也不是可运行的程序 或批处理文件
  3. Hashtable元素的删除
  4. rub、sass和compass的安装
  5. lua如何打印行号_LUA教程错误信息和回跟踪(Tracebacks)-34
  6. Facebook的规模还在继续扩大
  7. Transformer介绍
  8. it行业如何应对领导_什么是IT文化? 今天的领导者需要知道
  9. xor(线性基的合并)
  10. 阿里云,CentOS下yum安装mysql,jdk,tomcat
  11. Linux运维常见的硬件问题
  12. hashmap原理_HashMap实现原理解读
  13. 极客导航 - 建站教程的背景
  14. 提供通达信level2逐笔还原逐笔成交ticks导出提取工具
  15. 图解通信原理与案例分析-16:2G GSM基站的工作原理--时分多址与无线资源管理RRM
  16. PostgreSQL备份和恢复
  17. discuz php单页,Discuz! 单页制作教程
  18. 中科院各大计算所详细介绍
  19. 防止win10自动更新——指定一个错误的升级服务器地址
  20. 关于github双因素验证问题解决方案

热门文章

  1. boost:regex分割字符串(带有'\'字符) - zzusimon的专栏 - 博客频道 - CSDN.NET
  2. 前端开发神器:grunt快速入门
  3. 将数据从MySql导入数据至SQL Server 2000
  4. 静态库.a和动态库.so的制作
  5. efi分区咋移动到c盘里_快速增加C盘容量的好方法!
  6. java学习之------位运算符实现两值交换
  7. 港股区块链概念股走强,火币科技涨超17%
  8. SAP License:MES与ERP系统如何分工合作
  9. SAP License:COPA分摊循环-FKART开票类型作为循环接收方
  10. SAP License:SAP的公司间销售