`
hellodesigner
  • 浏览: 11232 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

软件架构和框架的理解

阅读更多

      做了多年的程序设计,最近一直在关注软件架构方面的东西,出现在书面上非常多的两个词“软件架构”和“软件框架”,让我比较敏感,首先在概念上我们需要有一个初步的认识。

 

      在以前经常和同事、朋友,甚至是合作伙伴之间进行一些技术上的交流,很多时候他们给我的印象是软件“架构”和“框架”被混为一谈,而我也曾经经历过这个阶段。在理解上从模糊混淆到有所认识是需要投入足够的时间来进行理解的。软件“架构”和“框架”是两个不同的概念,但它们也是相互关联的。

 

      软件框架是一特殊的软件,由实际的代码构建而成,是软件系统、子系统的半成品。软件框架为具体的解决方案提供了基础,提供了基础服务和可扩展点,同时软件框架也建立了一些约束,开发人员在此基础上进行特定业务功能的定制开发。例如,在J2EE企业级应用程序开发中,经常使用struts+spring+hibernate来搭建一个基本的项目结构,在没有其他特殊系统需求的前提下,这就是一个软件框架。

 

 

      软件架构是引导如何设计软件框架的重要决策。它决定了软件系统如何划分,在一定程度上描述了被划分的各个部分之间的静态、动态关系。软件架构的决策体现在软件系统的框架中。

 

      引用《面向模式的软件体系结构(第一卷)》中为框架所下的定义:

框架是一个可实例化的、部分完成的软件系统或子系统,它为一组系统或子系统定义了架构,并提供了构造系统的基本构造块,还为实现特定功能定义了可调整点。在面向对象环境中,框架由抽象类和具体类组成。(A framework is a partially complete software (sub-) system that is intended to be instantiated. It defines the architecture for a family of (sub-) systems and provides the basic building blocks to create them. It also defines the places where adaptations for specific functionality should be made. In an object-oriented environment a framework consists of abstract and concrete classes.)
 
1
0
分享到:
评论

相关推荐

    软件架构说明书模版 软件构架

    为了进一步理解和实现架构设计,可能需要参考其他技术文档、标准规范、设计模式等资料,这些将在文档中列出。 **2. 架构表示方式** 架构表示方式通常包括用例图、组件图、序列图、状态图、类图等UML图,以及架构...

    高级软件架构设计(软件架构师参考)

    软件架构师的主要职责包括:理解系统的业务需求,制定系统的整体框架,指导开发人员开发,解决系统开发、运行中出现的各种问题等。 三、软件架构设计的特点和分类 软件架构设计有多种分类,包括面向对象程序设计...

    嵌入式系统软件架构设计.doc

    综上所述,嵌入式系统软件架构设计不仅涉及软件工程原理,还需要对硬件、资源管理和可靠性工程有深入理解。设计师需要综合考虑这些因素,创建出既满足功能需求,又能适应嵌入式环境限制的高效、稳定和可维护的架构。

    软件架构实践 第2版

    这本书的第二版提供了最新的理论和实践经验,帮助读者理解和应用软件架构的核心概念。 在软件开发过程中,架构设计起着至关重要的作用。它不仅决定了系统的可扩展性、可维护性和可靠性,还直接影响团队的协作效率和...

    软件架构和架构师

    - 确定软件架构的整体框架。 - 定义软件组件及其交互机制。 - 确保软件架构符合业务需求和技术目标。 - 指导开发团队遵循架构设计原则。 - 解决开发过程中出现的技术难题。 #### 3. 软件架构师与其他角色的...

    软件架构实践(第三版)林巴斯

    6. **案例研究**:通过具体项目实例来展示上述理论和方法的实际应用,帮助读者更好地理解和掌握软件架构实践。 #### 三、详细解析 ##### 1. **软件架构的重要性** - **定义与作用**:软件架构是关于软件系统的...

    ThoughtWorks现代企业架构框架白皮书_V4.pdf

    在总结部分,文档可能概述了现代企业架构框架的优势、使用场景和潜在价值,以及未来可能的发展方向或补充研究的领域。 最后,参考文献部分表明文档可能是基于一定的研究和理论基础,借鉴了其他专业文献的研究成果。...

    开源软件架构 软件架构

    本篇将围绕开源软件架构中的几个核心概念进行深入探讨,包括开源框架的复用机制、基于J2EE的轻量级软件架构、微软的Enterprise Library以及Eclipse相关框架的应用。 #### 二、开源框架的复用机制 开源框架作为一种...

    软件架构的样式与框架

    软件框架是已经实现的、具有特定架构样式的软件架构,它提供了一组通用功能和接口,简化了软件开发过程。框架往往包含了一些“粘合代码”(glue code),这些代码负责实现组件间的基础通信和协调,让开发者可以专注...

    软考高级软件架构设计师资料

    这份资料包含了历年来的考试题目和详尽的教程,旨在帮助考生全面理解和掌握软件架构设计的核心概念、方法论和技术。 在准备软考高级软件架构设计师的考试过程中,考生应重点关注以下几个关键知识点: 1. **软件...

    软件架构设计的理论和实践-软件架构讲义PPT

    软件架构设计的目标是创建一个灵活、可扩展且易于理解和维护的系统框架。 在讲义中,可能会涉及软件架构师的角色。他们不仅负责技术决策,还需要与业务团队沟通,确保技术解决方案符合业务目标。他们需要具备技术...

    软件架构师应该知道的97件事.pdf

    综上所述,软件架构师的知识和技能涉及技术深度与广度、沟通能力、业务理解、简单实用原则和持续学习。这些知识点共同构成了软件架构师应具备的专业素养。《软件架构师应该知道的97件事》这本书通过多位专家的经验...

    软件架构设计师考试大纲_软件架构设计师_

    《软件架构设计师考试大纲》是针对“软件架构设计师”这一高级资格认证的考试指南,旨在帮助考生全面理解和掌握软件架构设计的关键概念、方法和技术。在准备这个考试的过程中,考生需要深入学习并熟悉软件架构设计的...

    《软件架构设计》

    “SystemFramework”意指系统架构框架,它为应用程序提供了一种组织和实现业务逻辑、数据访问和其他功能的方法。 最后,“Q&A”可能代表问答部分,即文档中包含有关软件架构设计问题与答案的部分,旨在帮助读者更好...

    架构、框架、设计模式之间的关系.pdf

    ### 架构、框架、设计模式之间的关系 ...理解这三个概念之间的关系有助于开发者更好地规划软件开发过程,选择合适的工具和技术来满足项目需求。通过合理运用这些概念,可以大大提高软件的质量、可维护性和可扩展性。

    软件架构师入门教程,成功架构你的软件

    【软件架构师入门教程,成功架构你的软件】 作为软件开发领域的关键角色,软件架构师承担着设计和指导软件系统整体结构的重要职责。本教程旨在帮助初级软件工程师掌握软件架构的基础知识,逐步提升到架构师的水平。...

    架构和框架什么区别.rar_架构

    在IT行业中,"架构"和"框架"是两个经常被提及的概念,它们在软件开发过程中起着至关重要的作用。理解这两个概念的区别对于任何IT专业人员来说都是基础且重要的。 首先,我们来探讨“架构”。架构可以被视为一个系统...

Global site tag (gtag.js) - Google Analytics