【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的 (2)

【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

看到了这个页面我长舒了一口气,终于是不报错了。

【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

再来看下 G.Client.UI.Admin 好像是顺眼多了。

但这就改完了吗?这只是个开始而已,后面的路还长呢。

4.青春痘长在别人脸上你最不担心?

【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

好好的一个业务层代码,引用了EF,着实是不爽。不仅如此,Model里也引用了System.Web来获取UserID。

作为一个有道德的人,别人脸上长了青春痘,你应该拿个扬声器对着他喊:喂,你脸上有青春痘,好大一颗,好难看!

nonono,作为一个有文化的人,我当然会解决你的痛处。而不是现在,后面一定会做的。其实很简单,只需要在Wrapper里封装好EF的操作,让Business不会直接引用到EF相关的功能即可。(这个是.net的机制不深究了)

同样的,System.Web的也通过Infrastructure里提供就好了。从此再也不担心青春痘乱长了。 

代码方面的调整

作为一个懒人,第一个要解决的肯定是解放双手。

【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

后面对数据库操作的还有好多地方,到处都要这样赋值真的是心疼自己细白嫩长的五指。

已经有很多人想到了AutoMapper吧?当然也有人喜欢EmitMapper等等。各有所长,萝卜白菜自己挑一个啃了吧。用法我就不多说了,看个最终代码。当然我用的是自己又封装一次的AutoMapper。

即便AutoMapper已经很灵活了,但每个人的习惯不同,总有你觉得不爽的地方,那就自己动手吧。

【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

啧啧啧,瞬间又顺眼了好多,整个人都好了。

PS:这次引用的Mapper是我们自己写的,Framework.Mapping和Framework.Caching。暂时还没有开源,后面会放出来,其实也没加壳混淆,你有兴趣肯定难不住你的。

下一篇预告:【G】开源的分布式部署解决方案(三) -  部署项目管理(以Jenkins为例,准备好部署文件包)

G.开源分布式部署 QQ群:601476986 (本群会实时更新进度,相比来说肯定比博客频繁得多)

Git地址:   (希望大家可以顺手点个star,感谢各位的支持)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpssf.html