心中一直构想的写一个扩展性比较好的简单的三层框架,在网上看到过很多关于类似的文章,感觉在实际项目中并不适用。最近呢,也一直在研究微软的PetShop4.0,于是心中产生的一个简单三层框架的雏形,欢迎圈内人士批评指教。
UI:一般都构建动态的页面,采用JQUery和HttpModule
WebServvices:是对其他语言开放的接口,比如:java,php,或者C++应用程序
SqlDependency:是新学的东西,保持缓存和数据库同步,按标准来说其属于BLL层的一部分或者更高的一种抽象。像UI和WebServices提供数据。
BLLFactory:业务逻辑层。进行数据验证,权限判断,数据库过滤的作用。
DALFactory:数据库访问工厂,仅提供所需的数据,不做任何处理。处理在BLL层。
我感觉此框架的优点:
Inferface:各层之间都用接口提供契约。
(1):有缓存,而且是缓存和数据库能保持同步
(2):扩展性很强。比如:UI层要改成PHP,JSP或者C++应用程序,直接调用WebServices.
(3) : 各层之间实现了弱依赖。比如:要做数据库迁移,只修改DAL层就可以了。不影响其他的变化。
(4):开发软件最怕需求变化,而我们把几乎全部的业务逻辑都封装在BLL层,DAL只提供数据。只要接口不变,修改BLL层中的逻辑就可以了。
(5):可以分层部署:DB放一个服务器,WebServices:一服务器,UI:另一服务器。
欢迎圈内人士拍砖。