不是所有的系统都需要多层结构,其实我们在很多时候,系统简化为录入和查询,也没有非常强的扩展性的需要。甚至就是某几张表加上几个录入界面。虽然.net已经很方便了,但是有时我们还是花很多时间在重复地生成界面,写很简单的逻辑(包括数据绑定)。
其实这个框架本身还是多层的设计(Web Page->Code Behind->Database),只是开发者无需为了分层而进行特定的一些设计,不断重复一些代码。
当然复杂的系统,可能会设计到很多逻辑,非表现层的逻辑。这个框架就无法胜任了。
我在网上找到了一个CRUD的框架,叫Evolutility,地址是http://www.evolutility.org/,我觉得这就是我所要的。
Evolutility is an open source generic web UI for database applications. With it you can build CRUD (Create, Read, Update, Delete) web applications simply by providing the metadata describing your application UI and database mapping. No hand-coding is required.
简单来说,这个框架通过一个XML文件的定义,能够为一个数据对象(数据库中的一张表)来自动生成List,View,Edit,Delete,Search,Advance Search等视图,而不用写一行代码。同时也暴露了很多元素来让CSS进行控制。
我个人觉得对于简单系统,这无疑是极大提高生产率的框架。这个框架的特点:
--学习起来很简单很快。
--XML定义的 属性还是非常丰富的。
--开源
--内置安全性,能够按照记录的所有者进行控制,粒度很小。
--具有CRUD的严谨性,又能够自由地加Comments
当然缺点是明显的:
--通用的扩展性不好,当然你可以加一些代码去Hardcode一些逻辑,毕竟代码都公开了。
--效率不是很高,组合而成的SQL语句都有这样的毛病。
--只能绑定在MS SQL Server上 。