分享
 
 
 

大家一起来开拓我们的DotNET架构吧--DotNETStruts

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

架构名称 DotNETStruts

______________________________________________

暂时还不能称的上是架构

之所以命名为 DotNETStruts,是因为我看了Java的Struts觉得很好,但是Java的IDE不敢恭维,所以我就想用DotNET来实现Struts架构,故命名为

DotNETStruts,

版权唠叨:

______________________________________________

本程序不受任何法律保护,只希望我们中国的程序员来积极做DotNET上的开源,做DotNET上的架构.

只希望保留其名称DotNETStruts,作者 哈哈

简介

_______________________________________________

类似与Java的动态Bean,这里的实体类使用了动态属性,其属性用配置文件

DBSchema记录.该配置文件中记录数据库的数据库信息,如是否主键,是否为空等

例如数据库中有一个表 Teacher(ID,Name,Gender,Class),其中ID为主键且自动增加值

则可以通过如下方法使用该类

Dim te as New Entity("Teacher")

te.property("ID") = 10001

te.Property("Name") = "ZhangSan"

te.Property("Gender") = "F"

'' te.property("Age") = 23 该句出现异常,因为配置文件(即数据库纲要)中,表Teacher

'' 没有Age字段

'' 下面是一些操作

te.Insert() te.Update te.Delete te.Select()

其中 Insert 操作忽略自动增加值的字段(Indentity)

Insert Teacher(Name,Gender) values('ZhangSan','F')

Update 操作将主键作为where的条件. 即生成的Sql为

Update Teacher Set Name = 'ZhangSan',Gender = 'F' where ID=10001

Delete 操作将忽略出主键外的任何属性,Sql为

Delete From Teacher where ID = 10001

Select 操作利用"和"运算筛选记录,Sql为

Select * from Teacher where ID = 10001 and Name = 'ZhangSan' and Gender = 'F'

主从表操作

'' 打印编号为10001教师的所以学生的姓名

Dim St as Entity

If te.HasChilds("Studnet") Then

For each st In Teacher.GetChilds()

Console.Write(st.Get("Name"))

Next

End If

'' 打印学生编号为 102 的教师的名字

Dim St as New Entity("Studnet")

St.property("ID") = 102

If St.HasParent() Then

Console.Write(St.GetParent.Get("Name"))

End If

对于 Asp.NET 的支持

增加记录

Teacher_Insert.htm的主要内容

....

....

<Form name="form1" action="do.do"> // 该Url do.do 通过web.config 映射到 Navigation 类

<Input type=hidden name="[[Table]]" value="Teacher" />

<Input type=hidden name="[[Operation]]" value="insert" />

<Input type=hidden name="[[Forward]]" value="Teacher_list.aspx" />

<Input type=text name="Name" />

<Input type=text name="Gender" />

<Input type=text name="Class" />

<Input type=submit name=submit />

</Form>

写完这个静态文件,不用写任何代码,就可以将该记录插入到数据库中,

其中3个隐藏域含义为

name="[[Table]]" value="Teacher" 表示要操作的实体类为 Teacher

name="[[Operation]]" value="insert" 表示实现的操作为插入操作,支持的操作为 Insert,Update,Delete,Select

name="[[Forward]]" value="Tacher_list.aspx" 表示插入成功后跳转到 Teacher_list.aspx

数据库的配置文件可以通过 DBSchema 提供的WriteXml()方法从SqlServer提取出来

希望扩充的功能

____________________________________________________

add,list,upate,view 等htm或aspx页面生成(正在写,写成WinForm形式)

包括客户端的数据验证,提供一些样式可以选择

权限系统,对每个表的各种操作实现权限限制,通过配置文件进行配置

模板系统,美工在页面中使用一些"标签",如 teacher.Name,程序可以将数据库的信息替换到这里,生成html静态页面

或者将该嵌入有特殊"标签"的模板文件生成可执行的aspx文件,比生产静态页面难度大哦

支持分页

兼容现在的Asp.Net控件

现在这种结构很想asp或是jsp的结构,现在asp.NET 的优势是实现类似与WinForm的交互.

怎样把Asp.NET的这种优点利用起来,现在思路还不是很清晰

商务逻辑的实现

现在只是硬邦邦的实现了针对于单表增删查改.

下一步还想通过配置文件实现商务逻辑

**************************************************************************************************

**************************************************************************************************

本贴会持续更新,我把现有代码整理一下,过几天贴出来.希望每个看到此帖的DotNET爱好者把它收藏起来

希望的后续发展:

开通网站和论坛,开源,由广大爱好者共同发表意见,规划它的结构,每个人都写一点(目前有点乱,说实在的,我UML不好

)

希望三个中国人一条龙,共同把它象Linux一样发展起来(不能和它比哦.嘿嘿...)

哈哈 2005年1月4日晚12点

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有