zoukankan      html  css  js  c++  java
  • 一线架构师实践指南一书第三编Refined Architecture阶段 阅读感想

    1.关于概念架构和细化架构   1)层次:系统 用户 业务 角度:功能 约束 质量属性   2)架构=组件+交互   3)概念架构仅关注高层组件,对高层组件的“职责”进行了笼统的界定,并给出了高层组件之间的相互关系,其不涉及接口细节(只有抽象组件和抽象交互机制)。这些都是预习书本时玉带的知识点。

      对于什么是架构?每个角色都有自己的关注点,不同涉众看待软件架构的视角自然也是不同的。不过也不是无迹可寻,大致可以从五个角度来划分:逻辑(职责划分) 物理(物理节点安排) 开发(程序单元组织) 数据(持久化设计) 运行(控制流组织)。也就是五视图,每个试图,一个思维,一组技术关注。这便是细化架构。

      架构最重要的一点,就是它能把难以处理的大问题分解成便于管理的小问题。就划分子系统策略,可归纳为3种:

      分层的细化:可简单地概括为MVC模式,模型(model)-视图(view)-控制器(controller),它们各自处理自己的任务

      分区的引入:引入分区,以便于支持深度优先的迭代开发

      机制的提取:基于具体类的协作则算不上机制、基于具体类的协作则算不上机制、基于接口(或抽象类)的协作是机

    制,实现不同的最终功能可以重用同一个机制。

    而划分子系统的依据4个重要原则:
      职责不同的单元划归不同子系统
      通用性不同的单元划归不同子系统
      需要不同开发技能的单元划归不同子系统
      坚固工作量的相对均衡,进一步切分太大的子系统

      协作决定接口,"分"是手段,"合"是目的,不能合在一起支持更高层次功能的模块,有何用?
    设计模式是基础,要站在各个角度看软件架构。并且通过质疑“对不对”和“好不好”,可以发现新职责,或者调整协作方式。

     

    开发架构的设计内容:(1)将“逻辑结构”映射为程序单元开发技术选项:开发语言,平台工具

    要自主编写的源程序可重用的库、框架其他方式(shell脚本,平台配置文件)

    此外重用也是一个重点。

  • 相关阅读:
    android studio 中如何合并冲突(转)
    关于学习ZigBee的书籍
    多一点学习之外的人文思考
    有关技术文档的一点感想
    有关文学知识对我大学生活的影响
    【转】华为PCB布线规范
    【转】怎么样从一个疯狂下载者成为一个学习者!!!值得反省下的问题·~~
    时钟1
    关于有源滤波器和无源滤波器
    【转】zz个人的制板习惯流程
  • 原文地址:https://www.cnblogs.com/1502762920-com/p/12673448.html
Copyright © 2011-2022 走看看