zoukankan      html  css  js  c++  java
  • Refined Architecture阶段———阅读笔记

    究竟什么是Refined Architecture?

       一、定义:

       Refined Architecture又名细化架构,它是以分而治之为思想核心的多视图架构设计方法。兼顾多个视图设计之间的一致性,设计系统架构。

      二、实际作用:

         利于思考(因为分而治之的思维方式,可以多方面的思考系统设计)

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

      三、业界现状

        1、误认为多视图就是OO方法分支

        2、误将“视图”当作“阶段”

      四、内容讲解(重点以5视图为例)

        1、职责划分(逻辑视图)

        逻辑架构

          划分子系统的3种必要策略:分层的细化(职责维)、分区的引入(粒度)、机制的提取(通用维)

          接口设计:“分”是手段,“合”是目的,协作决定接口。

          逻辑架构设计的整体思维套路:质疑驱动逻辑架构的设计,结构设计与行为设计相分离。

        2、程序单元组织(开发视图)

        内容:将”逻辑职责“映射为”程序单元”、开发技术选型、“程序单元”间关系

        3、控制流组织(运行视图)

        内容:确定引入哪些控制流、确定每条控制流的任务、处理相关问题:控制流的创建、销毁、通信机制等、控制流之间的同步关系,若有资源争用还需引入加锁机制。

        4、物理节点安排(物理视图)

        增强硬件 = 增加计算能力 != 软件的实际服务能力增强

        内容:硬件选择与物理拓扑、软件到硬件的映射关系、方案优化

        5、持久化设计(数据视图)

        数据架构

          六大策略:

            ①独立 Schema (Separate-schema ) ——通信开销,可管理性强 

              两个不一样的数据集,相互独立互不干扰。

            ②集中(Centralized)———可管理性,数据一致性强

              将不同的几个数据集抽取组合成一个大数据集

            ③分区(Partitioned)——可伸缩性强

              水平分区:

                

               垂直分区:

                

            ④复制(Replicated)  

              将数据集拷贝一份

            ⑤子集(Subset)  

              从数据集中提取一部分数据生成新的数据集

            ⑥重组(Reorganized)

              从数据集中统计或者提取期望的数据重组成新的数据集

  • 相关阅读:
    洛谷P5661 公交换乘(二分)
    洛谷P4047 [JSOI2010]部落划分(最小生成树)
    洛谷P2872 [USACO07DEC]Building Roads S(最小生成树)
    卸载重装VirtualBox回滚报错
    POJ1151 Atlantis(扫描线+线段树+离散化)
    QT入门-信号槽拓展
    Vue模板语法与常用指令总结
    Vue 生命周期
    querySelector和getElementById方法的区别
    ES6 Class(类)的继承与常用方法
  • 原文地址:https://www.cnblogs.com/goubb/p/12672474.html
Copyright © 2011-2022 走看看