IT评测·应用市场-qidao123.com

标题: C# N层架构和解耦 [打印本页]

作者: 三尺非寒    时间: 2025-3-12 21:47
标题: C# N层架构和解耦
目次

一.N层头脑
  我们为什么要分层?
建议:
二、解耦 —— 什么是解耦?我们为什么要解耦?解耦能给我们带来什么?
1)什么是解耦
2)为什么要解耦
3)解耦能带来什么
总结:
三、我们为什么要采用多层架构?
总结:



一.N层头脑


  我们为什么要分层?

        为了解耦,高内聚,低耦合


                                                               (多层架构


   
                  ——一样平常也分为两层,主要将DAL层中的共有利用抽象出来
  
                  ——这一层可以分为许多子层;
                ——事务的处理在BLL中进行;
  
  建议:

        在开发过程中,由于SQLServerDAL层中的代码有大概不断的修改,如果频繁的拷贝很贫苦,建议在开发者中,UI层强引用SQLServerDAL,但UI层的代码中不应该利用SQLServerDAL层的任何对象,应该利用BLL层中的对象。项目开发完,移除SQLServerDAL,手动拷贝SQLServerDAL及它依靠的类库,放到UI层bin/debug

二、解耦 —— 什么是解耦?我们为什么要解耦?解耦能给我们带来什么?

1)什么是解耦

        解耦,即排除耦合,是一种在软件开发中广泛应用的设计理念和方法。耦合形貌的是软件系统中各个模块之间相互依靠、相互影响的水平。当模块之间的耦合度高时,意味着一个模块的修改或变更会对其他模块产生较大的影响;而解耦就是通过一系列的设计和技术手段,降低模块之间的这种依靠关系,使得各个模块能够相对独立地进行开发、测试、维护和扩展。
           比方,在一个电商系统中,原本订单处理模块和库存管理模块紧密耦合,订单处理时直接调用库存管理模块的方法来扣减库存。经过解耦后,订单处理模块不再直接依靠库存管理模块,而是通过消息队列等方式将订单信息通报给库存管理模块,这样两个模块的关联性就大大降低。
  (解耦解耦 “藕断丝连”  目的为了降低模块间依靠水平 克制出现牵一发动全身的状态出现,增加产品的可扩展性降低后期维护成本)
2)为什么要解耦


   (比方,如果业务逻辑层出现了一个 bug,由于它与其他层是解耦的,开发职员可以专注于业务逻辑层的代码进行调试和修复,而不必担心会影响到其他层的功能)
  
3)解耦能带来什么


   比方,在一个分布式系统中,如果某个服务模块出现标题,不会导致整个系统瓦解,其他服务模块仍然可以正常运行。
  
   比方,前端界面模块可以利用 Vue.js 等框架,而后端数据处理模块可以利用 Python 的 Django 框架。
  总结:

        解耦是软件设计的 “减法艺术”,通过公道拆分、抽象和异步化,让系统像搭积木一样机动。尽管需要衡量成本,但对于中长期项目而言,解耦是实现可持续演进的关键。

三、我们为什么要采用多层架构?

开发中利用多层架构(如表现层、业务逻辑层、数据访问层等)主要基于以下缘故原由:
1.职责分离,降低复杂度



2. 提高可维护性


3. 增强扩展性


4. 便于测试


5. 提升安全性


6. 优化性能


总结:

多层架构通过分工协作、模块化设计和机动扩展,降低了大型系统的复杂度,同时提升了可维护性、安全性和性能。尽管增加了初期开发成本,但对中长期项目而言,是衡量利弊后的抱负选择。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4