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网页的的链接上。

4、

四、总结

1、插件可以解决我的问题,当然你可以进一步看C#架构设计、.NET Framework来提升自己

2、结合C#敏捷开发来使用。

猜你喜欢

转载自blog.csdn.net/xpj8888/article/details/85136821