现在的网站和bs结构的信息系统, 一般都采用n层架构.
优点
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
缺点
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
3、增加了开发成本。
对于大型系统, n层架构是非常适合的. 但对于中小型系统, 由于成本比较低,人员不足等问题, 往往达不到预期效果, 反而会造成系统的失败, 这就有些得不偿失.
在系统的开发过程中, 我发现中间层完全可以透明, 变成WEB, Database结构. 一般情况下无需改动中间层.
WEB层用于数据的表示和输入,JS, jquery, easyui实现.
Database 层用于数据存储和逻辑, 由存储过程和嵌入式程序实现.
这种架构有以下优点:
1.性能高. 全部数据在数据库端操作.
2.容易修改. 当表结构改变时, 只需改存储过程和页面.
3.开发速度快. 由于省去了中间层, 程序量减少.
4.逻辑可复用. 由于采用了存储过程,
5.容易改变逻辑
6.与语言,操作系统无关.
缺点是:
程序安全性低.可以通过加密存储过程来克服.
不同数据库之间移植困难.
总之, 作为低成本, 敏捷, 这套WEB/Database结构开发框架还是比较适合的.