zoukankan      html  css  js  c++  java
  • 《一线架构师时间指南》-Refined Architecture阶段

    什么是Refined Architecture?

        Refined Architecture是相对于Conceptual Architecture而言的,它们是架构设计的两个层次,分别对应于“概念级"解决方案和“规约级”解决方案。须要注意的是, Refined Architecture属于架构设计。

        

     实际意义 

        多视图方法有两个方面的实际意义:
            利于思考(因为分而治之的思维方式)。
            便于交流(因为在一定程度上分离了涉众关注点)。

    业界现状 

        1.误认为多视图是oo方法分支

            将多视图方法经常被误认为是oo方法的分支。其实,无论是oo方法,还是结构化
    方法,都远未涵盖架构设计的全部。所以,只具有oo技能对架构师而言是不够的。

        2.误将“视图”当成“阶段”

            对架构设计方法而言,区分阶段和视图的概念是非常重要和必要的。

        3.RUP4+1视图

            

            RUP 4+1视图方法有几个重要特点:
                重视OO方法。
                Use Case驱动。
                强调模型的重要性。

        4.SEL 3视图

            SEL中包含三类视图:

                模块视图。

                组件-连接器视图

                分配视图。

                

            SEI3视图方法没有RUP 4+1视图方法影响大

    实践要领

        五视图方法:

            逻辑视图。

            开发视图。

            运行视图。

            物理视图。

            数据视图。

            

            五个视图各有其“思维立足点”,分别是:
                职责划分(逻辑视图)。
                程序单元组织(开发视图)。
                控制流组织(运行视图)。
                物理节点安排(物理视图)。
                持久化设计(数据视图)。

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

            

            因为其每个视图都是从特定角度规划系统的分割与交互,都是(架构的定义)“组件+交互”的一种体现。

    逻辑架构

        划分子系统的3种必用策略

            就划分子系统这个架构师必做的工作而言,其实践策略可归纳为3种:
                分层的细化。
                分区的引入。
                机制的提取。

        分层的细化

            

        分层的引入

          为了支持选代开发,逻辑架构设计中必须(注意是必须)引入分区。分区是一种单元, 它位于某个层的内部,其粒度比层要小。一旦架构师针对每个层进行了分区设计,“ 深度优先”式的迭代开发就非常自然。

        机制的提取

            基于接口(和抽象类)的协作是机制,基于具体类的协作则算不上机制。

            

             

        架构设计关注点分离原理图

            

        分层的细化、分区的引入、机制的提取这3种划分子系统手段之间的关系:它们处在思维的3个维度上。
        首先,分层和机制位于不同的维度:职责维及通用维

            

        是否引入分区,设计所“覆盖”的Scope是完全相同的。原因是层的粒度较大,而层内部引入的分区的粒度更小,便于组合出一个个功能(支持迭代开发)。这是第三维:粒度。

            

        分层的细化、分区的引入,机制的提取这3个手段不是相互替代的关系,而是相辅相成的关系。

        划分子系统的四个重要原则

            分层的细化、分区的引入、机制的提取这3种策略背后的4个通用设计原则:
                职责不同的单元划归不同子系统。
                通用性不同的单 元划归不同子系统。
                需要不同开发技能的单元划归不同子系统。
                兼顾工作量的相对均衡,进一步切分太大的子系统。

                

    逻辑架构设计的整体思维套路 

        整体思路:质疑驱动的逻辑架构设计

            要点如下:
                质疑驱动。
                结构设计和行为设计相分离。

                

         过程串联

            质疑驱动的逻辑架构设计整体思路,是从运用分层的细化、分区的引入、机制的提取进行子系统划分开始的。
                

             找到某功能的参与单元

             

            协作完成功能

                

             

         

         

            

  • 相关阅读:
    CentOS7 Python2.7.5升级3.7.1
    kubernets 集群和本地环境联调环境打通工具kt-connect
    Python学习指南
    Python爬虫(十九)_动态HTML介绍
    Python爬虫(十八)_多线程糗事百科案例
    Python爬虫(十七)_糗事百科案例
    Python爬虫(十六)_JSON模块与JsonPath
    python爬虫基本原理及入门
    Python操作数据库
    Python解析xml
  • 原文地址:https://www.cnblogs.com/baimafeima/p/12672862.html
Copyright © 2011-2022 走看看