狂人思维·成都
Google
软件架构,开则持续,合则稳健;亦开亦合,刚柔并济;讲究平衡如同生活之中庸和谐.
E-MAIL:guojian。zhang@gmail。com
posts - 19,  comments - 62,  trackbacks - 0

看过微雨心晴(X-Brave)的对架构、框架、基础件三者关系的论述后,我陷入了一阵不安和恐慌之中。
       发现我原来对软件框架的理解还是那样的浅溥,并由此想起,应该不只我一个是这样,我想大多数的开发人员在从普通的程序员向架构设计转型时都会遇到的这样的问题,在阐述的这个问题之前有必要将这三都的关系描述一下(这里就直接引用微雨心晴(X-Brave)的描述):
        从层次结构来看,软件架构是从整体上来看软件设计开发的,框架通常是从较高的层次来实现或者被选择来实现软件的架构,基础件/类是更小的软件元素,只是更加的强调通用。 三者之间存在微妙的关系,以至于确实容易引起人们的混淆。实际上,试图完全的割裂它们即使不是错误的做法,也常常不是良好的设计:三者之间存在紧密的依赖关系.

我很赞同这种说法,现在我来描述我以前设计系统框架时的问题所在:
最初在第一次担任框架设计时,总是从功能类出发。
 即:先考虑系统有哪些复杂而又频繁使用的类,对这此类进行分包,归类,并命名为UTILS。

然后再是对系统分层,分包,几乎没有多少中间接口,相临层之间总是紧耦合的调用,造成了层与层的改动牵连边过大。
 
写出来的框架就像工具包一样,由一大堆看起来没有联系的类堆积而成。

后来,经历过一次大项目后,开始关注一些建模理论以及开源框架,对先前的框架设计思想产生极大的冲击,开始关注系统的整体搭配,接口解耦,代码重用,自动化控制程度有所提高。
但感觉问题还是依然很严峻,主要表现在:对系统的把握层次仍然偏低(从代码角度出发),缺乏对系统整体的抽象能力和建模能力。对零散的业务规则难以抽象出很好的业务模型并以与系统架构结合起来。


总的来说我经历了两个阶段:1。以公用基础件为核心的积木式开发 2。以局部框架结构(实现)为起点,分层整合的泛射式开发(最明显的问题就是层层之间不成一体,项目越大越到后期就越松散变得越来越难以控制)

目前,开始将目光从系统业务层面出发,以架构为主,逐步向框架结构设计过渡的方向发展,但这时常令我感到力不从心,毕境理论归理论,现实中还需要丰富的实践经验去累积。


 

posted on 2005-05-20 16:44 狂人思维·成都 阅读(1515) 评论(3)  编辑  收藏 所属分类: JAVA技术J2EE应用工作间

FeedBack:
# re: 架构、框架、基础件之反思
2005-05-20 17:19 | sunshinekyo
我刚做了一年程序员,可能不太有发言权。但我觉得软件框架跟具体的语言是没什么关系的吧,主要还是业务逻辑要好。我们公司在做的系统用了JAVA、.net以及一种不太常用的语言Matrix,架构是我们总监在做,他对这些语言都不是很熟,但他不关心这些。哪些语言好用是程序员的事情,而不是架构师的事情
  回复  更多评论
  
# re: 架构、框架、基础件之反思
2005-05-20 20:13 | floerggyy
感觉我们两个在成长过程中的经历差不多,以前在头脑里也没有什么整体设计思路的概念,做的东东就是N多工具类的集合,一种积木式的堆砌。当突然发现这样这种方式的弊端时又没有能力做一个让自己满意的,于是开始了分析一些相对优秀的项目源码。。。不断积累中。。。
最近在公司写C/C++程序,也有很多感触,在里根本看不到设计思想的意味,完全是方法的集合。。
真正学习的第一门语言是JAVA当年总是感觉,很多人乱用接口简直就是故弄玄虚在成长中才发现当初的自己是那么无知。。。
感觉设计这东西不是一础而就的,需要我们慢慢的积累  回复  更多评论
  
# re: 架构、框架、基础件之反思
2005-05-21 18:08 | Programmer's Life
呵呵,掌握典型的软件开发过程,从需求分析--->架构设计---->详细设计---->编码实现,这个过程说起来谁都明白,真的要让它讲讲对于每个过程的理解我想没有多少人能说的清吧,这个还是需要经验的积累,不管你采用何种软件工程,都是按照之上的步骤在做,至于对于业务的抽象那是需要长时间的积累、学习和总结,否则分析模式那样的书就成快速成为高手性质的书了  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 

<2005年5月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿

随笔分类(31)

随笔档案(19)

文章分类(3)

文章档案(3)

我关注的Blogs

搜索

  •  

最新评论

阅读排行榜

评论排行榜