关于软件架构设计模式和应用框架的一点看法
Posted 海枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于软件架构设计模式和应用框架的一点看法相关的知识,希望对你有一定的参考价值。
最近在
http://bbs.csai.cn/bbs/view.asp?Id={7106D3F2-4091-44E1-9CA4-D873DFFA06B1}
上看到有朋友提对对上面三者关系提出疑问,文http://mantx.csai.cn/user1/265/archives/2006/6359.html 对上面的问题给出了很好和生动的回答,但本人觉得上面的回答不够充分,所以本人斗胆多说两句,请匆见怪。
软件架构重点关注的是软件的整体,如何用一种适合系统功能需求以及非功能需求的结构方式去构建系统中的各个组件以及它们的交互过程。从一开始,软件架构从一开始就关注了整个系统的功能需求和非功能需求,在全局层面上对系统软件进行规划。一个很明显例子,如建造一个新的城市,要考虑城市建造的要求,同时还要考虑到城市与周边和地形的关系,从而决定采用什么样的架构,决定建造一个什么样的城市,如园林式还是其它式的。
值得一提的是:一个具体的系统,由于系统很大,还可以划分成很多个小的子系统,那么子系统同样也需要规划的,也即同样要进行架构设计。如上述例子中具体的一个房子,要看它的功能需求是什么,如果一个办公大楼,它的局部设计架构与一个私人住宅肯定是不同的。
应用框架,从软件角度来看,它是一个半成品,但不是一个软件,更与架构不同。架构是设计思想和方案的表现,而用应框架一个可运行的代码,但还不是软件,只是一个半成品。应用框架看起来似乎是一个软件的骨架,它分离了软件的固定部分和可变部分,让具体应用对它进行扩展,以适应变化的需求。事实上,的确可以说应用框架是软件的骨架,但是有一个前提就是,应用框架是在软件架构的指导下而产生的应用框架,是它所适合的应用软件的一个全局或局部的骨架。
因此,架构是一种设计与思想,它可以由应用架构来表现出来,当然也并非一定要。但是应用框架肯定是由架构的指导而产生出来,它不能脱离架构而独立生存。与其说应用框架是软件的骨架,倒不如架构才是软件真正的骨架,框架只不过是架构的表现方式罢了。
最后设计模式都是大家熟耳能闻的,我个人认为架构是骨,而设计模式是肉,这样它们俩结合起来才产生出来有血有肉的软件或者应用框架。
软件架构重点关注的是软件的整体,如何用一种适合系统功能需求以及非功能需求的结构方式去构建系统中的各个组件以及它们的交互过程。从一开始,软件架构从一开始就关注了整个系统的功能需求和非功能需求,在全局层面上对系统软件进行规划。一个很明显例子,如建造一个新的城市,要考虑城市建造的要求,同时还要考虑到城市与周边和地形的关系,从而决定采用什么样的架构,决定建造一个什么样的城市,如园林式还是其它式的。
值得一提的是:一个具体的系统,由于系统很大,还可以划分成很多个小的子系统,那么子系统同样也需要规划的,也即同样要进行架构设计。如上述例子中具体的一个房子,要看它的功能需求是什么,如果一个办公大楼,它的局部设计架构与一个私人住宅肯定是不同的。
应用框架,从软件角度来看,它是一个半成品,但不是一个软件,更与架构不同。架构是设计思想和方案的表现,而用应框架一个可运行的代码,但还不是软件,只是一个半成品。应用框架看起来似乎是一个软件的骨架,它分离了软件的固定部分和可变部分,让具体应用对它进行扩展,以适应变化的需求。事实上,的确可以说应用框架是软件的骨架,但是有一个前提就是,应用框架是在软件架构的指导下而产生的应用框架,是它所适合的应用软件的一个全局或局部的骨架。
因此,架构是一种设计与思想,它可以由应用架构来表现出来,当然也并非一定要。但是应用框架肯定是由架构的指导而产生出来,它不能脱离架构而独立生存。与其说应用框架是软件的骨架,倒不如架构才是软件真正的骨架,框架只不过是架构的表现方式罢了。
最后设计模式都是大家熟耳能闻的,我个人认为架构是骨,而设计模式是肉,这样它们俩结合起来才产生出来有血有肉的软件或者应用框架。
以上是关于关于软件架构设计模式和应用框架的一点看法的主要内容,如果未能解决你的问题,请参考以下文章