设计原则和设计模式
1、设计原则
单一功能原则:它规定一个类应该只有一个发生变化的原因,即一个类/方法只干一件事。
开闭原则:对于扩展是开放的,但是对于修改是封闭的,这意味着在不修改一个软件实体的基础上去扩展其功能。
依赖倒置原则:要底层实现尽量依赖抽象类与接口,方便系统间的解耦,有利于扩展与维护。
合成复用原则:在系统中应该尽量多使用组合和聚合关联关系,尽量少甚至不使用继承关系。
2、设计模式
通用的、都知道的开发经验/套路总结。
单例模式 |
确保一个类只有一个实例,并提供一个访问该实例的全局访问点 |
策略模式 |
多个算法里选择,比如给外卖员派单可以按照直线距离、区域范围派单 |
工厂模式 |
创建一个复杂对象,比如工单、订单的创建 |
责任链 |
数据加工处理,比如过滤、去重、排序等操作 |
装饰器 |
适用于发送不同类型通知,比如用户交易后,发送app、微信、短信通知 |
适配器 |
用于新项目、防腐层、项目迁移,适配老接口;多个券来源接口抽象成一个接口 |
状态模式 |
活动在不同状态展示不同信息;不同状态的任务交互不同 |
代理模式 |
权限控制;用户访问鉴权 |
观察者模式 |
用户完成某行为后触发一些动作,比如浏览页面时出一个弹窗 |
详细资料:https://mp.weixin.qq.com/s/n3vsRQZPe0j5oIOk3umj7A
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构