看到了这个页面我长舒了一口气,终于是不报错了。
再来看下 G.Client.UI.Admin 好像是顺眼多了。
但这就改完了吗?这只是个开始而已,后面的路还长呢。
4.青春痘长在别人脸上你最不担心?好好的一个业务层代码,引用了EF,着实是不爽。不仅如此,Model里也引用了System.Web来获取UserID。
作为一个有道德的人,别人脸上长了青春痘,你应该拿个扬声器对着他喊:喂,你脸上有青春痘,好大一颗,好难看!
nonono,作为一个有文化的人,我当然会解决你的痛处。而不是现在,后面一定会做的。其实很简单,只需要在Wrapper里封装好EF的操作,让Business不会直接引用到EF相关的功能即可。(这个是.net的机制不深究了)
同样的,System.Web的也通过Infrastructure里提供就好了。从此再也不担心青春痘乱长了。
代码方面的调整作为一个懒人,第一个要解决的肯定是解放双手。
后面对数据库操作的还有好多地方,到处都要这样赋值真的是心疼自己细白嫩长的五指。
已经有很多人想到了AutoMapper吧?当然也有人喜欢EmitMapper等等。各有所长,萝卜白菜自己挑一个啃了吧。用法我就不多说了,看个最终代码。当然我用的是自己又封装一次的AutoMapper。
即便AutoMapper已经很灵活了,但每个人的习惯不同,总有你觉得不爽的地方,那就自己动手吧。
啧啧啧,瞬间又顺眼了好多,整个人都好了。
PS:这次引用的Mapper是我们自己写的,Framework.Mapping和Framework.Caching。暂时还没有开源,后面会放出来,其实也没加壳混淆,你有兴趣肯定难不住你的。
下一篇预告:【G】开源的分布式部署解决方案(三) - 部署项目管理(以Jenkins为例,准备好部署文件包)
G.开源分布式部署 QQ群:601476986 (本群会实时更新进度,相比来说肯定比博客频繁得多)
Git地址: (希望大家可以顺手点个star,感谢各位的支持)