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)

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

  • 相关阅读:
    Leetcode NO.110 Balanced Binary Tree 平衡二叉树
    Leetcode NO.226 Invert Binary Tree 翻转二叉树
    Leetcode NO.215 Kth Largest Element In An Array 数组中的第K个最大元素
    根据特征的浏览器判断
    Cygwin在打开在当前目录
    【转帖】科学对待 健康养猫 打造快乐孕妇
    解决chrome浏览器安装扩展、应用程序一直处在“检查中”的问题
    对【SQL SERVER 分布式事务解决方案】的心得补充
    关于“点击这里继续访问您选择的百度XXX”
    VBA一例:如何保持文本框焦点
  • 原文地址:https://www.cnblogs.com/goubb/p/12672474.html
Copyright © 2011-2022 走看看