zoukankan      html  css  js  c++  java
  • 架构漫谈之阅读笔记

    上周,我们在老师播放的视频中,在设计师上找到了与软件架构师相通的特性,但是我们并未真正理解“什么是架构”,“什么是架构师”诸如此类的问题。我们只是在感性理解层面上隐约的觉得了,嗯,这两者很像,但又却指不出究竟哪里是一样的,哪里是相似的,哪里又是不同的。这次对漫谈的阅读和理解能让我们更深一步的了解这方面的内容。

             王概凯从认识架构讲到到最后的理清技术、业务和架构的关系,看完这些内容,相较寒假看的《软件架构实践》这一教材,收获是非常不一样的。

             看这本书的时候,让我有了一种错觉,仿佛又回到了看《构建之法》的时候,每当我遇到一个比较晦涩的知识点的时候,作者就会用一个比较形象化生活化的例子来告诉我究竟那是什么。

             架构在wikipedia中的定义,让我们觉得架构是一个过程,但是又不是很清晰,因此,作者就从人类居住环境开始类别架构,得出架构产生的五个动力:首先,必须有人执行的工作,如果人不参与这个活动,那么意味着没有地方需要升级改造,那么就不会需要架构,可以说,这是架构的一个前提条件;接着,由于个体人的力量有限,因而,我们开始做架构,这个就是原因;其次,人对系统要有更高的要求,简单的说,这个是因为一个点而来的,算是前提条件的原因;最后,更多的人参与进来使得系统有更高的质量和效率。既然了解其动力,便可挖掘其定义了。此处定义,比起一般的定义,更像一个过程。定义分为四个部分:根据要解决的问题,对目标系统的边界进行界定,接着对某个原则进行切分,然后对切分的内容设立沟通机制,最后将这些组装成一个整体,完成系统的所有工作。这里用一个通俗的理解就是老师把知识分块教授给我们,然后,我们整合知识系统去参加考试,反馈整个教学系统的质量。(希望这个小例子没有错……)

             后面文章解释了一个名词“名相”以说明为何一开始说概念并不清晰的原因,架构是一个抽象的概念,并非一个直接可以表达此意的物品。

             在了解了架构的基本概念以后,我们要对它进行深入的了解。首先,我们要识别架构的问题,究竟什么叫做问题?笔者此处用了一个非常形象的“女主人让男人削土豆”例子来讲了这个道理。女主人要求男主人削土豆,那么她给了男主人一个命令,提供的“解决晚餐问题”一个解决方案。一般来说,我们所问的所说的,都是表层的“问题”或者“解决方案”,架构师与我们不一样的是,他们是通过现象看了本质,这个层次的人,可以知道,为什么要削土豆,为什么要削一半的土豆。其实多问几个为什么,我们就可以知道真正的问题--解决一家人吃晚饭的问题。这里,就可以识别出问题的主体,一家人。一再强调的是,正确认识问题,前提是,主体一定是人。那么最后就可以总结下如何识别问题了,要确定是谁的问题,是什么问题。

             在确认主体之后,就要有所动作,就要对架构进行切分。那么究竟如何切分架构?切分的原因源于我们一开始讲的个人的力量的有限。首先需要认识到这里的切分,其实就是利益的调整,人本性是自私的,所以维护自己的利益这一点不可避免。那么既然涉及利益,那么我们就需要一个准则,确定如何划分了。第一,需要在能力范围内,并且相应的任务权利与义务对等;第二,切分是内部活动,内部无论如何切分,对整个系统的外部应该是透明的。也是说,切分的目的不是为了分割,而是为了更好的融合,为了达到整体效益的最大化。

  • 相关阅读:
    Django框架之ORM常用字段和参数、单表操作
    Django框架之模板层
    Django框架之视图层
    Django框架之路由层,本地虚拟环境搭建
    Django框架
    Django框架
    在学习Django框架之前所需要了解的知识点
    JQuery
    Android开发(八)-界面编程
    Android开发(七)-签名APK
  • 原文地址:https://www.cnblogs.com/justmaomao/p/6490488.html
Copyright © 2011-2022 走看看