チーズ*_*ズパン 2 .net architecture design-patterns winforms
我必须开发一个连接到企业内部网内的数据库的应用程序(Winforms-application).
因为我想让应用程序保持可扩展性,可维护性和灵活性,所以我在考虑应该使用哪种架构.在这方面,我对N-Tier和MVC模式进行了标记.
据我所知,两种模式之间的主要区别在于MVC具有更多的三角形结构(组件可以相互通信),而3层应用程序具有直接结构,其中每个组件(n)只能将请求转发给组件(n + 1).
所以我的想法是采用3层方法.在"表示层,第1层"保存表单的情况下,"业务层,第2层"处理第1层和第3层之间的信息和逻辑,"数据层,第3层"连接到数据库并使用存储过程.
我的问题是:
这对你来说听起来像是一个合理的决定吗?因为我读到如果你计划在不同的机器上运行单层,那么N-Tier会有所作为,我不打算这样做.如果您认为我选择了错误的方法,那么什么是更好的主意?
提前致谢.
MVC和n层是两个涵盖不同方面的不同层次的架构模式.它们可以同时使用.它不是一个或另一个.
MVC更像是一种可以在表示层中应用的软件体系结构,其中一个组件是Windows Forms.(Windows Forms是否完全兼容MVC是一个单独的讨论.)
N层架构是一种系统架构(在比MVC架构更高的层次上).决定基本上是你有两层(Windows Forms客户端作为第一层,数据库,存储过程作为第二层)还是三层(Windows Forms客户端作为第一层,一个带有业务逻辑的应用服务器)作为第二层,以及第三层作为第三层的数据库).甚至更短:客户端是否会直接连接到数据库,或者介于两者之间是否有应用程序服务器?
似乎给出了存储过程的使用.如果是这种情况,那么他们可能提供的不仅仅是数据查询和存储,还有一些业务逻辑.在这种情况下,我倾向于采用两层.
其他可能相关的因素是:
身份验证:是否可以在数据库中设置所有用户?或者更容易在应用程序服务器上执行并使用单个用户来访问数据库?是否需要某种单点登录?
授权:是否可以检查数据库中的所有权限?如果没有,那么创建安全应用程序需要三层?
关于禁止直接访问数据库的网络架构是否有任何限制?
您是否期望数千个并发用户并希望通过设置多个服务器来扩展?
一般来说,我倾向于采用更少的层,因为它更容易实现并且成本更低(最初和维护期间).额外层的成本需要通过依赖额外层的要求来证明.
归档时间: |
|
查看次数: |
1116 次 |
最近记录: |