我正面临着我将要开展的Web应用程序架构的决定.我们是一个小团队,实际上我将独自工作(每个人都在做其他事情).
该应用程序将包含ExtJS库的前端构建,
它将使用模型"加载页面,构建GUI并永不刷新".
在网络"桌面"上会有很多数据窗口,地图视图(使用openlayers + GeoExt)和其他东西.
GUI应该是灵活的,并允许每个用户修改(和持久)布局以满足他/她的需要.
应该可以将应用程序划分为modules/parts/...然后让特定组中的用户仅使用特定模块.换句话说,每组用户可以在网络"桌面"上具有不同的GUI.
问题是:
首先,这种方法好吗?
客户端会有很多AJAX调用,这可能是个问题.
如何在客户端处理代码复杂性?
到目前为止,我已决定使用dojo.require/dojo.provide功能并将客户端代码划分为模块(用于生产它们将使用dojo构建系统放在一起)我正在考虑在客户端使用某种IoC容器,但还不确定是哪一个.
我很可能会为自己编写一个,在JavaScript等动态语言中应该不难.
如何在服务器上处理AJAX调用?
我应该在服务器端使用WCF吗?或者只是普通的ashx处理程序?
如何处理服务器端的代码复杂性?
我想使用Spring.NET.可能这种方法可能有助于模块化问题.
数据访问 - 这里我很确定要使用什么:对于DAL类,我将使用nHibernate.然后我使用Spring.NET将它们与业务类组合在一起.
我真的很感激有关哪条路的建议.
我知道很多技术,但我只使用了很少的一部分.
我没有时间去探索所有这些并且做出决定.