zoukankan      html  css  js  c++  java
  • 《一线架构师实践指南》第三章Refined Architecture阶段学习总结

    学习摘录于网上资料文章

    Refined Architecture,直接翻译为【精致的建筑】,这是本书的第三个部分,前两个阶段按分别为pre-Architecture阶段、conceptual Architecture阶段,两个阶段分别为【前架构】、【概念架构】,我自己对这写阶段的理解就是,一栋建筑物的形成过程,在正式架构之前,要了解这栋建筑的用途,居民楼?学生公寓?购物广场?政府大楼……,将情况了解清楚之后,进行概念架构,也就是要求不是特别多的一种大体概括,画出建筑物的草图,这些工作都完成之后,来到第三阶段,就是对这栋已经有些身影的建筑来精细设计,将其变为移动精致的建筑。将建筑替换成我们的软件,就是首先了解这个软件,这个系统各方各面的需求,然后进行系统的概念设计,具有哪些功能等等,之后来到这一Refined Architecture阶段,及对软件系统进行精确的设计。

    书中讲了两个关于细化结构的小故事:

    第一个故事是在《方案书》确定之后,架构师觉得方案书被认可说明架构已经很明确,无需“再”架构,但是程序员并没有在实际开发中得到足够的指导和限制,这就是在第一个名言中所描述的“项目的系统架构尚未确定”,及概念架构之后没有进行深一层次的“规约”设计,及细化架构,细化架构及概念架构的区别如下表。

    第二个故事,办公室关于“什么是架构”的争论,程序员、程序经理、系统分析员、配置管理员、数据库工程师、部署工程师、用户这些角色都站在自己的立场发表了观点,提出了自己角色对应的“视图”,这里指出了第二个名言中所提到的“选择视图的工作”,最后给出了贴近实践的多视图方法,应将一线架构师的各项具体工作涵盖其中。

    以及如何划分子系统,和定义接口:

    划分子系统的三种方法:分层的细化、分区的引入(架构中引入分区,支持深度优先的迭代开发)、机制的提取(基于接口(或抽象类)的协作是机制,基于具体类的协作则算不上机制;实现不同的最终功能可以重用同一个机制),及“总-分-总”

    划分子系统的四个重要原则:职责不同的单元划归不同子系统; 通用性不同的单元划归不同子系统; 需要不同开发技能的单元划归不同子系统; 兼顾工作量的相对均衡,把太大的子系统进一步做切分。

    定义接口,避免“我的接口我做主”的错误思想,要协作定义

    原文链接:http://www.bubuko.com/infodetail-3500203.html

  • 相关阅读:
    POJ 1321 棋盘问题
    算法导论 4.1 最大子数组问题
    矩阵快速幂
    固定定位
    HTML排版
    CSS笔记2
    HDU 1796 How many integers can you find(容斥原理)
    HDU 2147 kiki's game(博弈经典题)
    HDU 1846 Brave Game(巴什博弈超简单题)
    HDU 4704 Sum(隔板原理+组合数求和公式+费马小定理+快速幂)
  • 原文地址:https://www.cnblogs.com/my---world/p/12672933.html
Copyright © 2011-2022 走看看