框架设计与我的反思
[ 2006-10-25 22:35:27 | 作者:
killuakun ]
一个项目的完成,标志着我从6月份开始设计的一套框架型CMS走入第四阶段,前段时间进行了一些总结工作,写了点小文档以备个人将来参考,现在开始反思,哪里出了问题。
前三个阶段回顾一下:
一、传统到现代的转变
由于是第一次使用框架来制作产品,首先的目的是证明框架是否实用,其次是为框架的下一步开发打下基础,留下足够的余地。并且为前台制作积累经验。
代码几乎没进行优化,一切从简,积累各种问题和疑虑,搜集了很多意见,但还是尽力在不改变框架的情况下将前台做好。这个阶段代价很大,花了大量的时间去测试,换来的是框架的稳定!
二、重构,大幅度增强功能点与细节
将第一阶段积累下来的问题一个个进行解决,并且实现了大部分的意见与建议,一点点修改,大部分代码进行了重写,可谓翻天覆地,第一阶段在这里看来完全是可行性实验。后台还称不上完善,也不一定完整,但至少渐渐变得方便。
这个阶段分配给前台的时间并不充裕,只是进行了DIV+CSS的前台制作,效果并不让我满意,很多地方暴露出了新的欠缺点。
三、重新设计前台制作流程
经过第二阶段的重构,后台功能与流程开始渐渐稳定下来,新的功能在之前的基础上进一步增加着,有时会影响到过去设计的部分,但也能迅速的修改更新。这个阶段主要精力投入在前台制作上面。
前台开始模块化设计,大量采用用户控件搭建,将代码块之间的联系切断,保持各部分的独立,减少互相交叉的出错情况,极大的缩短了测试与调试时间。这个阶段主要是尝试一种新的制作流程,规范各种制作细节,为今后的制作设立标准。
从这个阶段开始,三层结构渐渐开始清晰起来,数据、逻辑、表现,框架在进化!
第四阶段:再来一次翻天覆地吧
下面将对框架再进行一次重构,从最底层的几个基础类开始,动其根基,先从前台开刀,重点是体现数据与表现分离。
框架,其实是为了将来可能的开发,而设计的工具。我们用它制作新的东西,因此它需要有几个性质:单纯、稳定、直接。
单纯是为了扩展,面对一个复杂的东西你很难有更多的创意。
稳定是扩展的基石,充满漏洞的系统无所谓功能强大。
直接是为了方便的应用,降低后面的开发成本是框架的重要目的。
感觉设计框架就是在一次次进行重构,这大概是框架设计的初期,寻找设计模式时经历的阵痛,在框架样例积累的足够时,重构的频率就可以降低了。
框架设计原则:在设计框架时,必须从一组使用场景以及实现这些场景的样例代码开始。----Krzysztof cwalina
永久地址: http://www.killuakun.com/feed.asp?q=comment&id=288
前三个阶段回顾一下:
一、传统到现代的转变
由于是第一次使用框架来制作产品,首先的目的是证明框架是否实用,其次是为框架的下一步开发打下基础,留下足够的余地。并且为前台制作积累经验。
代码几乎没进行优化,一切从简,积累各种问题和疑虑,搜集了很多意见,但还是尽力在不改变框架的情况下将前台做好。这个阶段代价很大,花了大量的时间去测试,换来的是框架的稳定!
二、重构,大幅度增强功能点与细节
将第一阶段积累下来的问题一个个进行解决,并且实现了大部分的意见与建议,一点点修改,大部分代码进行了重写,可谓翻天覆地,第一阶段在这里看来完全是可行性实验。后台还称不上完善,也不一定完整,但至少渐渐变得方便。
这个阶段分配给前台的时间并不充裕,只是进行了DIV+CSS的前台制作,效果并不让我满意,很多地方暴露出了新的欠缺点。
三、重新设计前台制作流程
经过第二阶段的重构,后台功能与流程开始渐渐稳定下来,新的功能在之前的基础上进一步增加着,有时会影响到过去设计的部分,但也能迅速的修改更新。这个阶段主要精力投入在前台制作上面。
前台开始模块化设计,大量采用用户控件搭建,将代码块之间的联系切断,保持各部分的独立,减少互相交叉的出错情况,极大的缩短了测试与调试时间。这个阶段主要是尝试一种新的制作流程,规范各种制作细节,为今后的制作设立标准。
从这个阶段开始,三层结构渐渐开始清晰起来,数据、逻辑、表现,框架在进化!
第四阶段:再来一次翻天覆地吧
下面将对框架再进行一次重构,从最底层的几个基础类开始,动其根基,先从前台开刀,重点是体现数据与表现分离。
框架,其实是为了将来可能的开发,而设计的工具。我们用它制作新的东西,因此它需要有几个性质:单纯、稳定、直接。
单纯是为了扩展,面对一个复杂的东西你很难有更多的创意。
稳定是扩展的基石,充满漏洞的系统无所谓功能强大。
直接是为了方便的应用,降低后面的开发成本是框架的重要目的。
感觉设计框架就是在一次次进行重构,这大概是框架设计的初期,寻找设计模式时经历的阵痛,在框架样例积累的足够时,重构的频率就可以降低了。
框架设计原则:在设计框架时,必须从一组使用场景以及实现这些场景的样例代码开始。----Krzysztof cwalina
![永久地址](http://www.killuakun.com/styles/default/images/rss_comment.png)