望能分享你的 项目的策划/模块设计 经验和技术
混来混去,我已接触asp.net2年多了。网站/管理系统也做了几个. 被注入/速度慢/耗服务器资源多/扩充难/布局乱……,的问题也经历了很多。
当然,吸取的教训(经验)也比较多.常常有以下问题让我感到很难过,还望各位不吝指教:
1、数据库字段的扩充:
扩充一功能可能要在数据库加几个字段 或 改变字段的类型 而加后(或者改后)
还要同时改 N 个T-SQL 或 存储过程,有时遗漏常常遇到 读取/添加/修改 时的错误.
2、客户的需求更改
可时当一个项目快要做完,客户在需求上有更改(假设他愿意支持更改所造成的费用和时间)。
这时我们要对一个模块甚至整个框架做更改。(这个更改会造成 第1 个问题的产生)
更改一处往往会造成另一个的错误。
……(其它各种更改)
这些常常让人很苦恼,我知道,从C#设计模式上来讲,的确是要提升。
还望各位在 整个项目的策划/模块设计 等方面 提出你的建议
------解决方案--------------------关注。。。
------解决方案--------------------这时我们要对一个模块甚至整个框架做更改。(这个更改会造成 第1 个问题的产生)
========
框架设计好了,不至于修改吧?那肯定是框架设计的延展性不好。
------解决方案--------------------严重关注事态进展
------解决方案--------------------俺的经验就是模块化,开发前一定要把框架设计好,虽然开始觉得麻烦,但会有很好的效果,即使要修改,也就针对一些情况修改个别模块,
还有就是能用交互的,绝不用静态的,
能够设定变量的,绝不用常量,就是要用常量,一般也做个常量字典表。
一定要把问题想多些,开始觉得有点小问题的,不要想的能混过去,客户比你精,应为他是上帝。
------解决方案--------------------不要是做企业级开发了
就是现在做些小程序,到后面要修改的话都麻烦的要命
一想到这就头痛
------解决方案--------------------楼主可以看看Head First Design Patterns,关注变化,而不是实现!
不妨思考一下描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心 is what?
------解决方案--------------------框架设计的时候 要想到其可重用性和可扩展性
能共用的尽量共用
修改的时候 不至于牵一发动全身
只要修改共用处就可以了
------解决方案--------------------这个话题太广泛了以至于我们有很多话题想说的却无从说起..
------解决方案--------------------好主题MARK之。。。。。。。
对于需求说明,我们公司做法是 关键用户要签字确认的才开发。
一旦需要修改,需要重新填写变更需求说明书。。。。
------解决方案--------------------关注!
------解决方案--------------------
------解决方案--------------------复古了,回到了结构化语言的年代..框架==结构?你认为呢?
------解决方案--------------------1.工欲善其事,必先利其器。
工具:
PowerDesigner 对象设计与分析,程序员使用。
Lucid.Spec、GUI.DesignConcept、Draw.WebWave 界面设计与演示工具 呵呵 ,多数行业外客户是属于眼见为实的人,你对他讲uml,数据库表是白搭,他不会理你的,你只能把原型界面先给他看
2.程序策略:
不要相信客户,别相信他的话----我宁可相信他实际要解决的问题本身,而不是他嘴上说的他想如何解决
大量使用xml来配置元数据,让你的程序依靠这些元数据他运行,而不是在程序里面硬编码。
对于可以预见的改变,事先就要做防御性编码
不事先决策任何事情,如果我无法确定程序的走向,我干脆就不做,我就把程序放在中间,至于你向左还是向右,客户自己说(呵呵,我这是推卸责任的做法,是你自己要向右的,那么你自己负责!如果结果你不满意也和我没关系,这个是你自己做的决定,当然你最终要改到左边,没问题!我可以改,不过这个责任本身我是不负的)
------解决方案--------------------别让沉了,顶起来,学习
------解决方案--------------------顶,不要沉
------解决方案--------------------学习
------解决方案--------------------MARK,关注.
------解决方案--------------------关注下
------解决方案--------------------Mark
------解决方案--------------------关注下。没经验~
------解决方案--------------------