.NET 网络编程

.NET 网络编程
 
    最近第一次用 C# 做了一个网络通信相关的项目,用到 TcpListener TcpClient NetStream .Net 框架提供的类。感觉到好用的同时也有了了解它们实现的冲动。经过一番调查了得出了如下的类图。在加深了解的同时也可以感受其设计的美。
 
 
 
    宽接口 窄接口,这是设计当中经常会遇到的一个选择。宽接口通常能够让一个类功能强大,但有时容易失去真正的关注点从而破坏了“单一职责原则”。窄接口则比较容易确保对某一特定点的关注。设计中经常可以配合着使用它们,这点很像铺设自来水管道。管路最初阶段可能从需求和效率考虑需要大口径的,但要入户的时候就要转成小口径。做设计也是这样,在图中较底层的 Socket 类提供的就是一个宽接口,而 TcpListener TcpClient NetStream 则是针对服务器、客户端和流对 Socket 进行了一次适配后成为了窄接口。用户可以根据需要自主选择宽接口和窄接口。没有特殊要求的时候,较之 Socket ,使用 TcpListener TcpClient 就更方便,更不容易用错。
 

你可能感兴趣的:(.net,网络编程,宽接口,窄接口,单一职责原则)