初学者对于三层框架的理解
2009-09-23 14:20
253 查看
心中一直构想的写一个扩展性比较好的简单的三层框架,在网上看到过很多关于类似的文章,感觉在实际项目中并不适用。最近呢,也一直在研究微软的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:另一服务器。
欢迎圈内人士拍砖。
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:另一服务器。
欢迎圈内人士拍砖。
相关文章推荐
- 对于初学者使用框架的理解
- 关于SpringMVC与JDBC结合实现对数据库增删改查(适合初学者理解JDBC使用,但是对于SpringMVC框架使用了扫描,不太适合初学者)
- 一个初学者对于MVC架构的理解
- 对于redis底层框架的理解(五)
- 初学者:对于FOWGA算法的理解以及将其和蚁群算法相结合的预测
- 一个初学者对于MVC架构的理解
- 一个月对于laravel框架的理解
- 个人对于三层架构解决项目问题的理解
- 对于nose框架中class级别的setUp和tearDown函数的一点理解
- 初学者对于MVC架构的理解
- stm32串口通信(初学者对于串口通信的理解)
- 一个初学者对于MVC架构的理解
- 对于框架的理解
- 对于redis底层框架的理解(一)
- 对于LabVIEW操作者框架的理解
- 一个初学者对于MVC架构的理解
- java中域的初始化,静态块和构造器的例子(考验一下初学者对于java的理解程度)
- 对于iOS前端框架的理解
- 对于初学者-正确理解业务逻辑
- 初学者对于MVC架构模式学习与理解