您的位置:首页 > 运维架构 > 网站架构

对软件架构的一点认识

2010-02-07 21:26 211 查看
软件架构无疑是软件工程中十分重要的一环,作为新世纪的软件从业人员,我们不能只将眼界局限在编码层次的细节上,而应该总体宏观的看问题,正确运用工程学方法,开发出优秀的软件产品。
以前在学校写一些小程序时,我发现了一些问题,就是自己的代码非常冗余,当时我还没有接触过设计模式和软件架构的思想,没有三层模型架构的概念,以至于程序中的模块间耦合关系相当密切,虽然最后的程序也能正常运行,但每次需要修改的时候都要花很多的时间,而且修改过程也是相当的痛苦。虽然当时已经意识到了程序结构中肯定存在着某些问题,但仍然不知道应该如何去解决。
一名优秀的软件架构师应该做到建立一个健壮的框架结构来支撑软件产品的开发,如何才能实现这一目标,我想一定要从学习前辈们总结出的设计模式方法开始。现在有许多优秀的框架结构,例如.NET、SSH,通过使用这些框架,可以大大提高我们开发的效率,增强我们代码的移植性和扩展性,这些都应该是一名优秀的软件架构师需要完成的工作。但是仅仅是使用这些框架是远远不够的,我们还应该从这些框架中学到对自己有用的知识,并且运用这些知识开发出适合自己实际需要的框架结构。基本的设计模式中告诉了我们如何更好的创建类以及封装业务单元,通过对比其中各个不同的方法,我发现当设计人员编写了更多的代码以后,真正以后的代码使用者会少写很多的代码,这立业反映出了一个道理,当我们作为软件工具的开发人员花更多的时间和精力来把我们的工具软件做得更完善,各个方面考虑得更周到时,我们会大大提高应用开发人员的开发效率,这也正是设计模式的一种十分重要的理念----提高软件复用。
然而世界上是没有什么万能的方法的,框架和设计模式也是如此。目前的大学教育,学生们总是单向的去学习学校交给的知识,从来没有对这些知识展开过深入的思考。纵观软件工程的发展历程,我们应该具备一种很重要的素质,那就是要敢于质疑已有的权威,任何框架或者设计模式终究还是有缺陷的,这也就给了敢于创新的后人改进的余地。在实际的开发中,框架虽然有它的优点,但它也存在着很多缺点,例如程序的执行效率低,而且框架要求大家都必须遵守许多规范标准,过多的规范标准会限制人们的思路,使软件产品缺乏创意。记得那是在写一篇介绍PHP语言特性的论文中,我谈到到“PHP语言有一个很大的缺点,那就是缺乏一个统一的框架”,的确这一点正是PHP不能像Java那样被广泛地应用在企业开发中的原因。但后来我又发现,PHP之所以能够被广泛的应用在互联网网站,也正是它没有框架限制的敏捷开发思想,大部分的PHP程序员不去使用框架结构,这正是敏捷开发者们的思想,采用快速的迭代的方法开发软件,机动灵活。
人的认识过程总是一种否定之否定的迭代过程,软件架构也经历了这样一个不断深入的过程,框架规范和敏捷开发就好比是一个事物的两个端点。正如现实生活一样,没有什么事情是可以简单地用判断题来处理的,到底是框架规范,还是敏捷开发,最终还是取决于客户的需求,根据用户的具体要求来选择适合自己项目开发的架构方法,我理解为任何事情都要具体问题具体分析,不能生搬硬套任何的方法和概念,选择最适合的方法,才能算是一个优秀的软件架构师,这需要我们不断地学习总结和积累经验。
其实做软件就像做人,软件工程中方法不仅是对我们以后事业的指导,其中的道理更是对我们人生道路的帮助。现在的知识已成为过去,他们代表的只是昨天人们的成就。我想这正是在我们以后的工作中应该具有的一种态度,那就是敢于去质疑别人的权威,在学习和工作中一定要不断的思考,形成自己的思想。正如苹果创始人乔布斯所说,“不要被信条所惑,盲从信条就是活在别人思考的结果里。不要让别人的意见淹没了你内在的心声。最重要的,拥有跟随内心与直觉的勇气,你的内心与直觉多少已经知道你真正想要成为什么样的人。任何其他事物都是次要的。”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息