【发布时间】:2017-04-23 19:15:41
【问题描述】:
我有三个项目,一个客户端项目、一个服务器项目和一个共享的公共项目。
普通项目中的代码在客户端和服务端都被引用。在常见的项目中,有一些请求从客户端发送到服务器,在服务器上以某种方式处理它们,然后返回给客户端。
服务器有一个类,该类有一个方法Process(),其中存在每个特定请求的逻辑。
当不同请求的数量很少时,这种方式工作得很好,但是自从实施这种设计后,请求的数量增加了,Process() 方法变得很大。
现在我想拆分请求的逻辑,但我面临的问题是如何移动逻辑。
由于请求存在于公共项目中,并且请求的处理需要仅限于服务器项目(数据库等)的类,我不能只让请求使用 Process() 方法实现接口,然后让请求中的逻辑,因为客户端无权访问服务器特定的逻辑(同样是数据库等)。
所以我的问题是,是否有一种设计模式可以解决我的问题,或者是否有人对如何将逻辑拆分成更小的部分有任何想法?
【问题讨论】:
-
可以把界面分为客户端、服务器和公共部分吗?
-
如果我有 3 个不同的接口并且类都实现了它们,你的意思是什么?然后问题是该类(存在于公共项目中)仍然需要具有它不能的服务器端处理逻辑。
标签: c# design-patterns server client