C#知识|设计模式的分类及认识

继承是为了解决代码复用问题和子类扩展问题;控件二次开发中经常用到;

接口解决扩展和团队协作问题,实现多态和项目框架设计;

继承+接口:可以相互弥补不足,接口弥补了继承不能多重继承的问题,同时也实现灵活扩展;

02 设计模式

设计模式是针对软件设计中常见问题的总结,

也就是前人的解决方法,设计模式时各种技术的综合应用;

面向对象解决的问题是整个项目的设计思想,即要基于对象思考,使用抽象设计,要做到一切以对象为重;

设计模式解决的问题:是项目开发中某些环节的扩展问题,是对面向对象编程设计思想的补充;

03 设计模式分类

根据目的可以分为以下几类

3.1、创建型设计模式

①研究问题:研究对象的创建问题,即将对象的创建和应用分离,从而达到解耦的目的;

②主要模式:简单工厂、抽象工厂、单利模式、建造者模式、原型模式等等;

简单工厂:解决了一个对象的创建问题,多个取其一;

抽象工厂:解决多个对象的创建问题,多组取一组;

单利模式:解决同一对象的创建问题,始终就一个对象

3.2、结构性设计模式

①研究内容:对象的组合问题,即对象按照某种方式组合,便于更好的扩展功能;

②主要模式:代理模式,适配器模式、桥接、装饰器模式

3.3、行为型设计模式

①研究的问题:研究对象如何交互分配职责,即对象如何相互协作共同完成单个对象无法完成的任务;

②主要模式:模板模式、责任链模式、命令模式、中介者模式、观察者模式

04 后记

现如今这个时代,AI的发展日新月异,每天都有层出不穷的产品出来,在这样的环境下,再想着一个工作一个职业能干一辈子已经是不可能的事了。

别说现在的工作岗位,现在所在的行业说不定哪天就突然消失了。

在这个快速变化的时代,拥抱变化,保持学习变得越来越重要。

相关推荐
Dream_Snowar1 小时前
速通Python 第三节
开发语言·python
高山我梦口香糖2 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
信号处理学渣2 小时前
matlab画图,选择性显示legend标签
开发语言·matlab
红龙创客2 小时前
某狐畅游24校招-C++开发岗笔试(单选题)
开发语言·c++
jasmine s2 小时前
Pandas
开发语言·python
biomooc3 小时前
R 语言 | 绘图的文字格式(绘制上标、下标、斜体、文字标注等)
开发语言·r语言
骇客野人3 小时前
【JAVA】JAVA接口公共返回体ResponseData封装
java·开发语言
black^sugar3 小时前
纯前端实现更新检测
开发语言·前端·javascript
404NooFound3 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
用余生去守护4 小时前
python报错系列(16)--pyinstaller ????????
开发语言·python