Java设计模式 | 设计模式概述和分类

独孤求败五重境界

  1. 利剑("凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋。")
  2. 软剑("紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。")
  3. 重剑("重剑无锋,大巧不工。四十岁前恃之横行天下。")
  4. 木剑("四十岁后,不滞于物,草木竹石均可为剑。")
  5. 无剑("自此精修,渐进于无剑胜有剑之境。")

设计模式介绍

  1. 设计模式是程序员在面对同类软件工程设计问题所总结出来的有用的经验,模式不是代码 ,而是某类问题的通用解决方案,设计模式(Design pattern)代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
  2. 设计模式的本质是提高软件的维护性,通用性和扩展性,并降低软件的复杂度
  3. 《设计模式》,作者是Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides Design(俗称"四人组GOF")
  4. 设计模式并不局限于某种语言。

设计模式类型

设计模式分为3种类型 ,共23种

  1. 创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式。
  2. 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
  3. 行为型模式:模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链(责任链)模式。

github笔记

相关推荐
lee_curry4 小时前
第四章 jvm中的垃圾回收器
java·jvm·垃圾收集器
九转成圣5 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio5 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython6 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫6 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch6 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI6 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0016 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
念2346 小时前
f5 shape分析
开发语言·javascript·ecmascript
苍穹之跃6 小时前
某量JS逆向
开发语言·javascript·ecmascript