[软件工程] 设计模式

1. 何为设计模式 

即软件开发者在开发过程中针对问题的一套解决方案。即:如何进行类和方法的设计?如何一步一步完善代码功能?是否进行功能抽象和隔离?如何处理数据和处理过程的关系?

例如,针对一个复杂的问题,有的人会选择用一个大的方法一次性解决,有的人会先将其分解为若干个子问题,然后一步一步解决。

2.工厂模式

将不同类型的子类进行抽象。由一个工厂类负责进行实例化。

其优点是创建类对象时,不会暴露创建逻辑,并可以扩展不同子类的实现。

其缺点是每次增加产品,都需要增加实现工厂,增加了系统依赖程度。

3.抽象工厂

由一个超级工厂创建其他工厂。可以解决接口选择问题。

也即,在一个大工厂里聚合多个同类产品。

缺点是代码复杂度极高,产品族扩展极其困难。

4.单例模式

每个单例类只有一个实例,并给其他所有对象提供这一实例。

主要应用到一个全局使用的类,可能会被频繁创建和销毁的情况。使用时判断系统是否具有这个单例,没有就创建,否则返回。

5.建造者模式

将一个复杂的构建分离,使用多个简单对象逐渐构建成一个复杂的对象。

当需要生成的对象内部结构复杂,但是属性相互依赖时。

其优点是建造者独立,并利于控制细节。缺点是会产生很多子建造类。

6.观察者模式

当一个对象被修改时,则会通知依赖它的对象。

优点是利于降低耦合程度,保证高度的协作性。

7.MVC模式

Model-View-Controller模式。是一种程序分成开发的模型。

Model 模型: 存取数据的对象。

View 视图: 模型包含数据的表示。

Controller 控制器: 作用在模型和视图,控制数据流向,并在数据变化时更新视图。作用是使视图与模型分离。

posted @   Cheung-10  阅读(55)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示