最近一件事情另我非常摇摆不定,就是在使用快速开发的时候,是使用设计的模型直接生成数据库和代码,还是选择先设计模型,再建立数据库,而后根据数据库生成代码。通常我是通过数据库,使用代码生成器生成代码的,这样做的好处显而易见,使用的可选择的工具很多,生成规则非常明显,因为数据库的字段属性等等都是非常明了的。
但是从模型对象生成数据库和代码似乎已经是趋势,微软的EF,就是提倡直接生成数据库和代码,显然,这样开发人员不需要关心数据库,直接根据业务模型开发系统,使用系统提供的方法和函数。
我们都知道一般一个系统的研发,需要从需求分析到架构开始构建整个系统,E-R图式必须的,UML之类的也是非常好用(当然我从来不用,因为不懂这个)。如果根据客户的需求,和分析师的分析,建好了模型,就能生成一切,开发人员搬动代码调整逻辑关系,生成可运行的系统版本?似乎一切都是那么完美吗。代码工作者的工作如此简单吗,问题是,我时常考虑模型生成数据库的可行性,稳定性,和易维护性方面,除非模型与数据库有着相同的规则,相同的约束,一切都是无缝集成,完美的,否则,任何一点瑕疵得地方都会导致数据库的不兼容,和程序性能或BUG。
在此之前其实已经有人将EXCEL同数据库形成了统一的平台,通过EXCEL设计表单或列表来形成系统,这有很多出色优秀的功能,但是这恐怕不是完美所说的系统。我现在的设计思路大概是这样的,需求分析--系统分析--E-R图(或业务流程图)--数据库设计--代码生成--根据业务变动重新设计部分数据库--调整业务层代码--系统运行调整性能--项目完工。
当然我认同从对象生成数据库和基础性的代码是正确的,符合面向对象的设计要求,但是数据库和基础代码就是对我们来说是完全透明的。而设计数据库和根据数据库生成代码,不易管理,散乱,使用ORM则会出现两种问题。真是左右为难啊。
以上只是自言自语,勿以为是精华。
临时占用首页
1、具体安排如下
活动地点:榴园宾馆 新华厅,
本次技术大会分上下午两场,上午半场(东大榴园宾馆)侧重于技术主题的讲座,让大家通过技术讲座及时了解新知识,下午半场(欧美亚自助餐厅)主要侧重于开发人员之间的线下面对面的交流,为大家创造一个结交志同道合朋友的机会,参加过俱乐部组织的活动的开发人员都知道这是一个结交朋友的绝好机会。
| 时间 | 主题 |
| 8:00~8:30 | 签到,领取资料袋,留影 |
| 8:30~10:00 | Win7发布会(预览、开发新特性等讲座) |
| 10:00~10:15 | 茶歇(大会提供饮料及点心) |
| 10:15~11:45 | 技术专题(.NET、Ruby、Java、PHP、项目管理等讲座) |
| 11:45~12:00 | 大会合影 |
| 12:00~12:15 | 大巴统一接送至第二分会场(欧美亚自助餐厅) |
| 12:15~14:00 | 午餐、休息、收取调查反馈表并发放小礼品(真空保温水杯) |
| 14:00~16:30 | 开发人员交流,同时开展技术主题交流及讨论 |
| 16:30~17:30 | 大会散会,参会人员合影或继续交流 |
2、说明
自2004年8月1号南京程序员俱乐部成立已来,我们已经组织过5次大型的技术大会和很多的线下程序员交流活动,由于从去年开始俱乐部主要负责人工作繁忙,俱乐部活动频率大大减少,俱乐部希望通过这次的技术大会作为一个起点,重新规划俱乐部的日常工作,吸收更多的志愿者加入俱乐部的日常管理中,为南京程序员带来一个更好的交流平台。大会发布第二天(10月16号),团购票已经超过130张,散票60张!(总票数暂定250张)下载赞助商手册
3、活动入场卷 50元/人 包括下午自助餐及下午茶,报名地点 http://www.njpro.cn/
4、大会礼品及奖品
参加大会者将获得个性的俱乐部礼品,奖品以及赞助商提供的神秘大奖。
(现已有近190人报名参加)
详情请进 http://www.njpro.cn/
GBK编码 代码为 936
Encoding.GetEncoding(936);
以GBK编码方式发送
HttpUtility.UrlEncode(sp.ToString(),Encoding.GetEncoding(936));
:(倒腾