• 《软件构架实践》(一) —— 认识


    在学习软件构架之前,先弄懂什么是架构。

    先提软件系统的构架有两个要素:

      ·它是一个软件系统从整体到部分的最高层次的划分。

      ·建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。

    对于软件系统构架的解释,书面语言实在生涩难懂,且难以说清其中具体缘由。

    举个样例解释:

    想象一下,在最早期,每个人都完全独立生活,衣食住行全部由自己来搞定,整个人类都是独立的个体,不相往来。(状态:单人——解决自己的衣食住行)

    一旦多人配合作为生存的整体,力量就显得强大多了,自然也形成了族群:有些人种田厉害,有些人制作工具厉害,有些地方适合产出粮食,有些地方适合产出棉花,自然就形成了人的分群,地域的分群。当分工发生后,实际上每个人的生产力都得到了提高,因为做的都是每个人擅长的事情。

    整个人群的生产力和抵抗环境的能力都得到了增强。为什么呢?因为每个人的能力和时间都是有限的,并且因为人的结构的限制,人同时只能专心做好一件事件,这样就导致了分工的产生。

    既然分工发生了,原来由一个人干生存所必须的所有事情,就变成了很多不同分工的角色合作完成这些事情,这些人必须要通过某些机制合在一起,让每个人完成生存所必须的事情,这实际上页导致了交易的发生。

    关于人的样例总结:

    在每个人都必须完成自己所有必需品的生产的时候,是没有架构的。

    一旦产生的分工,就把所有的事情,切分成由不同角色的人来完成,最后再通过交易,使得每个个体都拥有生活必须品,而不需要每个个体做所有的事情,只需要每个个体做好自己擅长的事情,并具备一定的交易能力即可。这就形成了社会的架构。

    把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同的角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。

    我们从中也可以归纳出这个架构产生的动力,或者说对这个人群社会形势做出的最高层次的决定

    (为什么产生这个架构,这个架构有什么好处和优势,对这个架构的限制等等)

    1.必须由人执行的工作(限制)

    2.每个人的能力有限(限制)

    3.每个人的时间有限(限制)

    4.人对生活状况有更高的要求(需求)

    5.提高社会效率(好处)

    回顾:

    回过头来看前面的两句话(软件系统的架构有两个要素):

    先提软件系统的架构有两个要素:

      ·它是一个软件系统从整体到部分的最高层次的划分。

      ·建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。

    是否对其的理解要清晰一些了。

    软件构架就是对软件系统各个元素的集合。

    软件构架也涉及了软件系统的现实活动(商业用途、技术需求、硬件要求、涉众利益)

    总结:什么是架构,就是:

    1.根据要解决的问题,对目标系统的边界进行界定。

    2.并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。

    3.这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

    架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。架构的产出物,自然就是对问题的分析,以及解决问题的方案。

    软件构架——是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。

  • 相关阅读:
    规范的html页面
    什么是MVC (模型 视图 控制器)?
    MVC概念
    MVC实用集锦(1)
    三层架构与MVC的区别
    spring-data-jpa的简单介绍
    Spring和SpringMVC的区别
    Spring常用注解汇总
    jmeter---CSV文件设置操作
    Linux----软件包管理
  • 原文地址:https://www.cnblogs.com/maplely/p/6375318.html
Copyright © 2020-2023  润新知