最近公司分配的任务是将一个C/S模式的C#应用程序迁移到Remoting三层结构下,原有的程序是一个两层结构的WIN FORM项目,由于开发时不规范,所以以应用程序代码并没有将表示层与业务层完全分离,部分业务逻辑是直接放在按钮CLICK事件,或者写成一个方法放在FORM的CS文件中,有一部分分离出来放在实体类中,但是里面又含有部分STATIC方法被外部调用(Remoting中无法调用SERVER端的STATIC方法的)。项目时间很短,完全重构是不可能的,而且去熟悉它的业务逻辑也需要太多的时间,于是采用了下面的策略。 第一步:分离表现层与业务层。将一个个实现方法及相关分别剥离封装到新工程中(假若设定此工程名为BSProject)的各个对应类中。 由于是内部使用不用考虑安全性,所以在客户端时我们直接引用BSProject的Dll,而不用建一个抽象类来作为引用Dll。 OK,两天之后,大功告成! |