我有三个项目,一个客户端项目,一个服务器项目和一个共享的Common项目。
公共项目中的代码在客户端和服务器中都被引用。在公共项目中,有一些请求从客户端发送到服务器,然后以某种方式处理它们,然后返回给客户端。
服务器有一个具有方法Process()
的类,其中存在每个特定请求的逻辑。
当不同请求的数量很少时,这种方式运行良好,但自实施此设计以来,请求数量增加,Process()
方法变得很大。
现在我想要分离请求的逻辑,但我面临的问题是如何移动逻辑。
由于请求存在于公共项目中,并且请求的处理需要仅限于服务器项目(数据库等)的类,我不能让请求实现具有Process()
方法的接口然后在请求中包含逻辑,因为客户端无法访问服务器特定的逻辑(再次访问数据库等)。
所以我的问题是,是否存在可以解决我的问题的设计模式,或者是否有人对如何将逻辑分成更小的部分有任何想法?
答案 0 :(得分:0)
由于请求存在于公共项目和处理中 请求需要仅限于服务器项目的类 (数据库等)
他们不应该。您需要将协议与数据库分开。请求和响应属于协议。数据库操作属于数据访问层。您可以将所有与协议相关的类和文件分离到单独的存储库中,并从服务器和客户端使用它。