C#.架构设计(二)c# 项目中包含了多个模块或多个功能,如何灵活打开/关闭、添加/删除某个模块或功能

一、简介

      不知不觉,短短几个月的时间,我已经写了大大小小100篇博客。短短几个月的时间,见证了我的努力、我的收获、我的学习效率。从一开始的零基础,到现在我需要了解整个项目的设计架构,才能来满足我的设计需求。

      我的需求,如我标题所说的那样。在我的项目中,包含了Socket通信、人脸识别、指纹识别、视频监控、串口通信等等功能模块。在我WPF工程中,点击某些发送按钮,Socket通信就会连接远端PC,进行同步。那么问题来了,我想关闭Socket通信这个功能模块,而不影响其他功能以及主程序的使用,该怎么办呢?首先肯定的是,我WPF项目的架构肯定有问题的,刚开始设计我没有考虑架构的事情。

      于是,我上网查了下,看看别人是怎么做的。于是收集了以下关于敏捷开发、架构设计等等的资料。

敏捷开发:项目管理者或 公司管理者 需要了解的。

架构设计:项目管理者或 程序员  需要了解的。

敏捷开发在我的一篇博客中提到

C#.架构设计(一)敏捷开发:敏捷开发联盟、开发工具、开发方法、C#敏捷开发

二、资料来源分析

我的问题是:c# 项目中包含了多个模块或多个功能,如何灵活打开或关闭某个模块或功能

那么,下面几个网站提供了一些解决思路。

1、网站1

https://zhidao.baidu.com/question/1859757799022645387.html 

该网页的原问题:C#如何实现功能模块化,并自由的添加和去掉功能?

提供了几个方法:

(1)重新发布EXE文件

(2)动态加载DLL

(3)插件(主要用到接口和反射)

(4)bolgengine.net的设计思想采用了外挂widget的方式

2、网站2:

https://bbs.csdn.net/topics/390777877/

该论坛的原问题:C#如何实现功能模块化,并自由的添加和去掉功能?  

提供了几个方法: 

(1)封装成dll+统一接口+反射加载(一些好的ERP软件采用了这种方法)

(2)SCSF框架的插件开发模式,里面的基本思想是通过配置发布出来的事件,实现动态调用,非常方便

3、网站3

https://docs.microsoft.com/zh-cn/previous-versions/dotnet/netframework-4.0/bb384200%28v%3dvs.100%29

实际上,我们研究或使用的架构,都是来源于.NET Framework。要想弄明白软件架构,最好看看.NET Framework,透过想像看本质,才是我们学习的根本。你可以通过购买.NET Framework书本,也可以在.NET Framework网页的的链接上。

三、总结

1、结合《C#敏捷开发》、《C#架构设计》、.NET Framework等来学习架构设计。

2、根据我的问题,可以总结如下方法:

3、往后,我还将继续学习架构设计的东西,并将架构设计的东西一一实现,同时会更新相关的博客。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值