设计模式

简介: 设计模式

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。


设计模式分为6大原则:


(1):单一职责原则

(2):里氏替换原则

(3):依赖倒置原则

(4):接口隔离原则

(5):迪米特法则

(6):开闭原则


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

创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。




GoF(“四人帮”,又称Gang of Four,即Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四人)的《设计模式》,原名《Design Patterns: Elements of Reusable Object-Oriented Software》(1995年出版,出版社:Addison Wesly Longman.Inc),第一次将设计模式提升到理论高度,并将之规范化。该书提出了23种基本设计模式。时至今日,在可复用面向对象软件的发展过程中,新的设计模式仍然不断出现。




推荐书籍:


设计模式:可复用面向对象软件的基础

作     者伽玛 等著,李英军 等译

出 版 社机械工业出版社

出版时间2013-11-1

基于C++源码实现


Head First 设计模式(中文版)(Jolt震撼大奖 经典畅销书 深入浅出讲清设计模式)

作     者(美)弗里曼(Freeman,E.) 等著,Oreily Taiwan公司 译,UML China 改编

出 版 社中国电力出版社

出版时间2007-9-1


大话设计模式(交互启发式教学 谈笑间详解设计模式 让你爱不释手)

作     者程杰 著

出 版 社清华大学出版社

出版时间2007-12-1

基于C#源码实现


设计模式之禅(第2版)

作     者秦小波 著

出 版 社机械工业出版社

出版时间2014-1-1


基于Java源码实现


相关文章
|
canal 分布式计算 Hadoop
canal针对分库分表场景的高可用架构设计与应用
canal针对分库分表场景的高可用架构设计与应用
|
SQL Oracle 关系型数据库
Oracle 分区表的新增、修改、删除、合并。普通表转分区表方法
一. 分区表理论知识 Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。
1959 0
|
7月前
|
存储 缓存 NoSQL
4-Redis篇-1
本文详解Redis在项目中的三大应用:热点缓存、业务数据存储(如验证码、排行榜)及分布式锁;涵盖5种基础数据类型、RDB/AOF双持久化机制、惰性+定期混合过期策略,以及8种内存淘汰策略。
304 19
|
2月前
|
人工智能 缓存 API
天天用 Claude Code/Codex,你知道它实际发给模型什么吗?被这开源工具扒光了...
claude-tap 是一款开源AI编程助手流量分析工具(MIT协议,2.9k star),通过本地代理实时拦截并结构化展示16种主流CLI(Claude Code、Codex、Cursor、Kimi、Gemini等)的API请求。支持请求/响应完整追踪、字符级diff对比、token用量分解、敏感信息脱敏及自包含HTML导出,让AI编程的“黑盒”过程完全可见——堪称AI Agent领域的Wireshark。
250 0
天天用 Claude Code/Codex,你知道它实际发给模型什么吗?被这开源工具扒光了...
|
7月前
|
监控 BI C++
Quick BI使用案例14:基于本月时间进度的月度目标达成分析
本文以中大型企业“月度滚动目标管理”为背景,详解如何用Quick BI自动计算本月总天数、今日序号及时间进度,实现预算消耗与时间进度的智能匹配监控,助力数据驱动精细化运营。
|
6月前
|
人工智能 运维 安全
当前企业市场零代码系统怎么选
在数字化刚需下,零代码成中小企业破局关键:2024年市场规模达62.4亿元,年增26.3%。但73%企业困于IT不足、开发慢、成本高,且面临同质化选型难题。本文基于Gartner五维模型,对比四类平台,提供分场景(小微/中小/大型)选型策略,并以轻流为例验证AI+流程驱动的高效适配性,助力企业精准匹配、安全落地、降本增效。(239字)
|
7月前
|
人工智能 运维 算法
轻量化起步,更低门槛上手向量检索 —— 阿里云 Milvus 单机版正式上线!
AI时代向量检索成刚需,但部署成本高、运维难。阿里云Milvus单机版正式上线:一键开通、4CU起配、支持900万级向量,月付仅628元起,适合初创、开发者及中小项目快速验证RAG、语义搜索等场景,未来可平滑升级至集群版。(239字)
|
7月前
|
人工智能 缓存 运维
提效60%:AI开源知识库教研场景心得
接触AI驱动的开源知识库系统这段时间,从最初单纯想搭一个个人技术笔记库,到后来在小团队里落地成标准化的知识管理平台,真切感受到这类工具把「知识从零散碎片变成可复用资产」的核心价值。这类工具没有花里胡哨的冗余功能,每一个设计都踩中了知识管理的实际痛点,不管是个人开发者、垂直领域从业者,还是中小技术团队,都能找到适配的使用方式。
392 1
|
9月前
|
JSON 监控 前端开发
如何高效接入日本股市实时数据?StockTV API 对接实战指南
本文详解如何通过StockTV金融API(countryId=35)高效接入日本股市实时行情,涵盖全量股票列表、单股查询、多周期K线、涨跌榜等核心接口,并对比HTTP轮询与毫秒级WebSocket推送方案,助力量化开发与实时应用构建。(239字)
|
9月前
|
机器学习/深度学习 算法 小程序
从 GAN 到 Diffusion:移动端图像去水印算法的“算力突围”实战解析
深度解析图像修复(Image Inpainting)技术的演进。探讨如何在微信小程序 2MB 包体积限制下,利用 Serverless 架构实现快速去水印推理。“香蕉一键去水印”的技术架构案例分析。