zoukankan      html  css  js  c++  java
  • 架构漫谈读后感

    首先,什么是架构?

    要了解什么是架构,首先要知道它产生的原因:《架构漫谈》中说了五点,我的理解是:

    架构--是人们为了提高生活质量,进而为了提高生产力,接着为了提高生产效率,而做出的对目标的有机的分割。这种分割与建筑的架构是一样,对目标内部进行空间切分,又留下门窗与各部分进行连通,让各部分相互隔离而又可以有效的沟通。就好像我们的社会,我们每个人通过自己的工作挣到钱(分割),让后通过钱与物的交易(沟通),获得我们各自需要的生活物品(目标)。

    那么什么是架构?我的理解是:

    架构--是解决问题的实践活动,是解决问题的方案,是我们解决问题的经验。它包括了解决问题的步骤,通过一个合理的步骤,我们按部就班的、快捷的解决问题。那么,我认为软件架构--就是将我们所了解到的目标软件进行有机的分割:目标软件作为一个整体,分割为合适的模块,使得各模块之间的影响降到最低,并留下门窗,即各模块之间的交互通道,从而提高人的工作效率。


    接着是认识概念 帮助 理解架构。

    概念,也叫名相,是人们认识世界的基础。所谓相,是人们所看到的事物的表象特征以及对他的认知(也就是事物的作用);而名亦如此,是人们给这类事物起的代号(代表着这种事物的表象特征和作用)。那么所谓概念,就是我们解决问题的方案的一个代号,当我们提到这个代号,就会想到这个解决方案。有效的认识概念是必要的,我们时常要进入新的领域,认识新的事物,有效的认识概念可以帮助我们快速的熟悉这个领域,对于我们识别和定位新领域中的元素,思路清晰的分割以及组合各个元素,会有很大的帮助。


    那么,如何识别问题?

    我们面对客户提出的问题,要有客观的认识,大多时候,客户提出的是解决方案,是他们想要得到什么,但是真正的问题是什么,却可能没有说。面对客户的要求,我们先要弄清问题的主体,要弄清这个问题是谁产生的,然后才是这个问题到底是什么。所以我们做软件需求的时候,才要和每个要直接与网络交互的人或系统,进行交流,只有那些操作的主题,才最清楚软件的作用是什么,才最清楚要解决的实际问题是什么。同时,主体意味着边界,主体确定了,边界就确定了。

    识别出问题,就到了切分问题的步骤了,那么如何进行架构切分?

    首先我非常同意作者关于人性不可违的观点。人都是自私的,没有绝对无私的人,无论是从精神上,还是物质上,他都会寻求一种获得,而只有获得才是人做事情的动力。笔者说的切分的原则很形象:1.必须在一个连续事件完成的活动不能切分。2.权责相等,保证了不违反人性的原则,也就保证了人性的相齐,人和是一个企业的关键要素。3.切分出来的部分不应该超过一个人的负载。4.内部切分与外界无关,切分导致的新变化,不应属于架构内部,若核心的问题出现变化,那么架构就要跟着变化。

    接着,第五部分是软件。

    通过阅读架构漫谈,我理解到,软件就是人用来控制硬件行为的程序。

    成本为王,我们所从事的任何工作,最终的目的,都是讲劳动力转化为财富,进而提高自己的衣食住行即自己的利益,而当劳动力的价值固定下来,我们所能做的就是降低成本,为了降低成本,我们就要提高技术,提高了技术,推动着社会向前进步,我们的利益也就会随之提高。第二点说的是软件的演变,从一个人完成整个软件,到后来多人合作完成大型软件,一切都是为了降低成本,提高效率,增加收益。软件同样是一个问题,我们首先找到所有的利益相关者,然后找到真正要解决的问题,接着对问题进行切分组合,然后实现从而解决问题。

  • 相关阅读:
    Swift入门篇-Hello World
    Swift入门篇-swift简介
    Minecraft 插件 world edit 的cs 命令
    搭建本地MAVEN NEXUS 服务
    MC java 远程调试 plugin 开发
    企业内部从零开始安装docker hadoop 提纲
    javascript 命令方式 测试例子
    ca des key crt scr
    JSF 抽象和实现例子 (函数和属性)
    form 上传 html 代码
  • 原文地址:https://www.cnblogs.com/aishanyishi/p/10552950.html
Copyright © 2011-2022 走看看