[软件工程] 设计模式
1. 何为设计模式
即软件开发者在开发过程中针对问题的一套解决方案。即:如何进行类和方法的设计?如何一步一步完善代码功能?是否进行功能抽象和隔离?如何处理数据和处理过程的关系?
例如,针对一个复杂的问题,有的人会选择用一个大的方法一次性解决,有的人会先将其分解为若干个子问题,然后一步一步解决。
2.工厂模式
将不同类型的子类进行抽象。由一个工厂类负责进行实例化。
其优点是创建类对象时,不会暴露创建逻辑,并可以扩展不同子类的实现。
其缺点是每次增加产品,都需要增加实现工厂,增加了系统依赖程度。
3.抽象工厂
由一个超级工厂创建其他工厂。可以解决接口选择问题。
也即,在一个大工厂里聚合多个同类产品。
缺点是代码复杂度极高,产品族扩展极其困难。
4.单例模式
每个单例类只有一个实例,并给其他所有对象提供这一实例。
主要应用到一个全局使用的类,可能会被频繁创建和销毁的情况。使用时判断系统是否具有这个单例,没有就创建,否则返回。
5.建造者模式
将一个复杂的构建分离,使用多个简单对象逐渐构建成一个复杂的对象。
当需要生成的对象内部结构复杂,但是属性相互依赖时。
其优点是建造者独立,并利于控制细节。缺点是会产生很多子建造类。
6.观察者模式
当一个对象被修改时,则会通知依赖它的对象。
优点是利于降低耦合程度,保证高度的协作性。
7.MVC模式
Model-View-Controller模式。是一种程序分成开发的模型。
Model 模型: 存取数据的对象。
View 视图: 模型包含数据的表示。
Controller 控制器: 作用在模型和视图,控制数据流向,并在数据变化时更新视图。作用是使视图与模型分离。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用