一个MIS系统,可能包含多个模块,应改怎样规划?
1、建立解决方案,把主窗口、login及定义全局变量的类放在这个项目中
2、新建项目(模块),添加到解决方案。把程序按模块功能划分,把各个模块的窗口等分别放在这些项目中。
请问:
1、这样组织一个c#的程序集对吗?也就是形成exe(启动项目)+多个DLL(其它功能模块)的架构,还是应该按照应用层(界面的调用等),最低层(数据库的操作等),中间层(功能的实现等)这样来划分模块?
2、新建项目时,是选“windows窗体应用程序”还是选“类库”?
3、能否做到界面和业务逻辑无关?方便以后灵活地生产windows程序或web程序?
1、建立解决方案,把主窗口、login及定义全局变量的类放在这个项目中
2、新建项目(模块),添加到解决方案。把程序按模块功能划分,把各个模块的窗口等分别放在这些项目中。
请问:
1、这样组织一个c#的程序集对吗?也就是形成exe(启动项目)+多个DLL(其它功能模块)的架构,还是应该按照应用层(界面的调用等),最低层(数据库的操作等),中间层(功能的实现等)这样来划分模块?
2、新建项目时,是选“windows窗体应用程序”还是选“类库”?
3、能否做到界面和业务逻辑无关?方便以后灵活地生产windows程序或web程序?
实体类可以定义为一个程序集;
每一个功能模块可以定义为一个程序集,功能细分的尺度只能自己把握;
数据层就不说了,现成的例子太多了;
记住为界面提供facade,这个估计也要用一个程序集;
界面本身是一个程序集。
//1、这样组织一个c#的程序集对吗?也就是形成exe(启动项目)+多个DLL(其它功能模块)的架构,还是应该按照应用层(界面的调用等),最低层(数据库的操作等),中间层(功能的实现等)这样来划分模块? 这样组织没问题.如果业务逻辑较复杂,可以再给每个功能模块分层,包括把一些共用的对象,创建公共的模块.//2、新建项目时,是选“windows窗体应用程序”还是选“类库”?
包含登录窗体及主窗体的项目建成“windows窗体应用程序”,其他的建成"类库".
//3、能否做到界面和业务逻辑无关?方便以后灵活地生产windows程序或web程序?
可以啊,你就把业务逻辑和界面放在不动的项目中.比较提倡用分层结构,在编码\管理\重用方面都有好处.
这个比较难了.说实话,界面与业务逻辑分离当然好了.可是要以代码量为牺牲前提不过MIS系统的业务逻辑并不太复杂,你会发现几乎很多的工作量会在界面展示上
1.如果是公共属性很强的东西或者常用的方法(如:文件的操作,数据库操作,时间日期和字符串的操作...),可以新建一个类库,建立完备之后,生成dll,可以在很多时候派上用场。
2.如果mis的是按功能划分的,也可以考虑把他们各个模块做成DLL,不过通用性不是很强,设计也不会很方便。
3.抽取方法是很重要的,这样可以减少开发时间和出错率。