zoukankan      html  css  js  c++  java
  • 《一线架构师实践指南》阅读笔记二

      首先,书上说了系统架构的重要性:如果一个项目的系统架构(包括理论基础)尚未确定,就不应该进行此系统的全面开发。

           然后是视图选择的重要性:如果选择视图的工作没有做好,或者以牺牲其他视图为代价,只注重一个视图,就会冒掩盖问题以及延误解决问题(这里的问题是指那些最终会导致失败的问题)的风险。

      接着介绍了细化架构和概念架构的差异:

           具体而言,细化架构和概念架构之间存在如下典型差异:

                  ■接口。 在细化架构中,接口占据非常核心的地位,而概念架构并不关心明确的接口定义(只有抽象的组件和抽象的交互机制)。

                  ■子系统。细化架构重视通过子系统和模块来分割整个系统,并且子系统往往有明确的接口;而概念架构中只有抽象的组件,这些组件没有接口,只有职责,一般是处理组件、数据组件或连接组件中的一种。当然,概念架构中也有“大组件分解成小组件”的设计决策,但并非子系统的含义。

                  ■交互机制。细化架构中的交互机制应是“实在”的,如基于接口编程、消息机制或远程方法调用等;而概念架构中的交互机制是“概念化”的,例如“A层使用B层的服务”就是典型的例子,这里的“使用”到了细化架构中可能基于接口编程、消息机制或远程方法调用等其中的一种.

           我们作为一个架构师应记住:

                  方案=”项目+需求+架构“的总览

                  方案≠架构的全部

           架构设计时一门解决复杂问题的实践艺术,于是,以分而治之为思想核心的多视图方法必不可少。这里我们要时刻记住:分不是目的,只是手段,和才是目的。

           多视图方法有两个方面的实际意义:

                  ■利于思考(因为分而治之的思维方式)

                  ■便于交流(因为在一定程度上分离了涉众关注点)

           接着介绍了五视图:

        

           5个视图各有其“思维立足点”,分别是:

    ■职贵划分(逻辑视图)。

    ■程序单元组织(开发视图)。

    ■控制流组织(运行视图)。

    ■物理节点安排 (物理视图)。

    ■持久化设计( 数据视图)。

    “思考最大的障碍在于混乱”。抓住每个视图的“思维立足点”,5视图方法就显得“相当清楚”了。

        详图:每个视图,一组技术关注点

          


  • 相关阅读:
    POJ 3278 Catch That Cow(BFS)
    POJ 2488 A Knight's Journey(DFS)
    POJ 2386 Lake Counting(DFS)
    迷宫问题(BFS)
    两点(DFS)
    POJ 1001 Exponentiation(大数运算)
    Java IO流01-总叙
    hdu 2065 "红色病毒"问题(快速幂求模)
    POJ 2251 Dungeon Master(BFS)
    POJ 1321 棋盘问题(DFS)
  • 原文地址:https://www.cnblogs.com/qianmo123/p/12672290.html
Copyright © 2011-2022 走看看