我用 Visual Paradigm 画了包和类的结构图,大家给点建议哈。在说之前,我先阐述一下,我的网站的所有代码是写在一个程度集里的,为什么都写在一个程序集里?
有2点原因:第一:我不知道怎么分层比较好。第二:我只是为了完成任务而已,我压根就没想过要优化代码。为什么想到改变?因为我的这个项目,马上就会有一个新人加入,如果加入了,问题我就不多说了,大家都懂的。下面先是我的程序的结构:
另外我还有一个疑惑,我的网站应用了很多的技术,比如EF,NHibernate,StrucureMap, FluentHibernate ,我看这些技术都是我们公司的框架里面的,我只是模仿而已,但是我现在看不出用这么多技术有什么太大的好处?!
我一个很简单的登录,都用到了IOC,反射,请问这么做有必要吗,当然我知道对于大项目,这是必不可少的,但是我这小项目(说不准以后也会成大的)有必要吗?或者说是我先捡简单的弄,然后以后等项目大了再用新技术好些呢?
具体的方法我就不贴了,我就贴下我的包图吧,大家给点具体的重构建议,不要说太模糊了,什么大道理我真的觉得意义不大,就按照我画的包图提建议,谢谢。
1.整体包结构图
2.扩展类
2.1 扩展方法
2.2 分页相关扩展以及基础方法
3.基础新消息处理类
4.控制层
谢谢各位大神提建议!就这些了,大家千万别给我说太高深的重构,设计模式;或者你要怎么怎么地,我是新手,不太懂,我只想达到两个目的:
1.代码的可扩展性要强,因为有人要加入进来了。
2.怎么才能让自己看懂自己写的代码,我现在最现实的问题是:代码越多,我就越乱,到最后根本不知道怎么写了!因为代码东一块,西一块,太复杂了!
首先,EF和NHibernate混用,没多大必要吧?
其次,简单的项目IOC是否有必要?
最后,看你的类图,感觉整个项目的命名不是很规范样...
个人改进意见:
1、项目分层,MVC不多说,类库和业务这层还是应该独立一下:MVC ->Business(Include DataAccess) -> Common Library.
2、确定一个ORM,干掉其他有同样功能的类库
3、去掉StrucureMap,个人觉得过度使用类库
4、约定命名规范
BTW:个人觉得,没必要想太遥远的事情,有多少项目用来IOC,最后切换了业务或者数据库么?满足当前需求,并有那么一点点扩展空间,就足够了。
懂了,谢谢,那我先这样改一下:
1.命名改规范些。
2.业务层独立出来。
但是有些ORM的话,我觉得还是多学习下有好处,那就先这样吧,谢谢你了。
Sturctemap我先不去掉,因为这牵扯到了很多类,我去掉的话,感觉这段时间写的东西 都白费了,有点可惜,我找找支点。
@KMSFan: 多学习没问题,但是没必要在一个项目中用。这样感觉很混乱。