《一线架构师实践指南》—— 读后总结

之前总觉得架构是一件很高大上的工作,跟普通的编码设计不太一样。前一段实践,自己也尝试做过架构的工作,可惜经验不足导致架构非常混乱。这里读完这本书,大体上对架构的工作有所了解,也稍微摸清了些门道。

我理解的架构

我理解的架构就是基于某些需求,设计代码的基础框架。既然是基于需求,那么肯定要面临不少需求的扩展以及变更,这时就需要架构能够灵活方便的适应变化。因此,架构的工作我的理解更多的是提前预料到未来的变化,提前做好改变的准备。

架构设计的大体思路为:

  • 时刻关注非功能性的需求,
  • 然后先进性预备架构的设计(建立需求列表,理顺需求的关系),
  • 再进行概念架构的设计(利用鲁棒图或者目标-场景-角色表,设计逻辑上的架构,忽略代码级的实现),
  • 最后对架构进行细化(深入到IDE语言的使用,开源框架的使用,类、接口的定义等等)

前几章总结

449064-20160711223216436-994247579.png

预架构阶段

449064-20160713183205311-192631632.png

概念架构阶段

449064-20160712232910826-1896681007.png

细化架构阶段

449064-20160713183225451-195372531.png

非功能性需求

449064-20160713183712498-395502286.png

转载于:https://www.cnblogs.com/xing901022/p/5661910.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

随机排列实现 -shuffle算法

随机排列实现 -shuffle算法 洗牌算法(shuffle):原理是,一个数A,随机选一个在这个数A之前的下标,将这个下标对应数字与A对换;之后不再考虑最后的这一个数; 类似于无放回的抽签问题&…

前端学习(2008)vue之电商管理系统电商系统之获取静态属性列表

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

转载_递归树求递归算法的时间复杂度

递归算法时间复杂度的计算方程式一个递归方程: 在引入递归树之前可以考虑一个例子: T(n) 2T(n/2) n2 迭代2次可以得: T(n) n2 2(2T(n/4) (n/2) 2) 还可以继续迭代,将其完全展开可得: T(n) n2 2((n/2) 2 2((n/2…

[转]Eclipse Java注释模板设置详解

原文链接:http://blog.csdn.net/ahhsxy/archive/2009/09/11/4542682.aspx 设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素啦。现就每一个元素逐一介绍&#xff1a…

前端学习(2011)vue之电商管理系统电商系统之初步使用upload上传组件

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

为什么使用Deque而不使用Stack构造栈

为什么使用Deque而不使用Stack构造栈 Class Stack<E> java.lang.Object java.util.AbstractCollection<E> java.util.AbstractList<E> java.util.Vector<E> java.util.Stack<E> 实现的所有接口 Serializable &#xff0c; Cloneable &#xff…

DDD学习笔记一

由于也是初学DDD&#xff0c;难免有很多不足和认识错误的地方。多数内容来自其他网络资料或者书籍。 参考&#xff1a;http://www.cnblogs.com/Leo_wl/p/4418663.html 希望多多提出宝贵意见&#xff0c;谢谢&#xff01;&#xff01;&#xff01; DDD是一套强大的思想工具&…

前端学习(2012)vue之电商管理系统电商系统之手动为upload组件添加请求头

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

Shell入门教程:算术运算

Bash的算术运算有以下几种方法&#xff1a; 序号名称语法范例1算术扩展$((算术式))r$((25*8))2使用外部程序expr 算术式rexpr 4 53使用 $[]$[算术式]r$[45]4使用内置命令 declaredeclare -i 变量算式式declare -i r8165使用内置命令 letlet 算术式let r816第一节&#xff1a;算…

计算器、中文转数字

计算器 1.字符串转整数 string s "458";int n 0; for (int i 0; i < s.size(); i) {char c s[i];n 10 * n (c - 0); } // n 现在就等于 458 2.处理加减法 我们拿字符串算式1-123为例&#xff0c;来说一个很简单的思路&#xff1a; 1、先给第一个数字加…

前端学习(2009)vue之电商管理系统电商系统之渲染商品属性的结构

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

配置CNPM-基础案例

下面给出一个样例配置&#xff1a; JavaScript module.exports { enableCluster: true, database: { db: "snpm", username: "username", password: "password", dialect: "mysql", host: "127.0.0.1", port: 3306 }, en…

浏览器上请求URL的全部过程

分为六步 1. 域名解析   浏览器首先要做去获得想访问网页的IP地址&#xff0c;浏览器会发送一个UDP的包给DNS域名解析服务器。DNS就会返回给我们百度的IP地址&#xff0c;通常来说浏览器会把访问过的网站的IP保存下来&#xff0c;这样下次访问的时候就会快很多&#xff0c;能…

前端学习(2013)vue之电商管理系统电商系统之监听on-success事件

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

常见算法复习整理1

数据结构笔记 1.迭代与递归 递归过程中的递归因子本身可以被忽略&#xff08;被计入它自己的过程中了&#xff09; 递归跟踪、递推方程。递归基 减而治之&#xff1a;Decrease and Conquer 线性递归的模式 T(n) T(n-1) O(1) 分而治之&#xff1a;Divide and Conquer 一般…

MVC5中利用NOPI导出EXCLE

MVC5中利用NOPI导出EXCLE //导出excle 设备效率public JsonResult Exporta(){var jser new JavaScriptSerializer();string js1 Request.Params["rows"].ToString();string js2 Request.Params["columns"].ToString();DataTable dt1 JsonToDataTable.J…

前端学习(2014)vue之电商管理系统电商系统之监听on-remove事件

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

Ubuntu彻底删除MySQL重装MySQL

1、删除 mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt-get autoremove mysql-server sudo apt-get remove mysql-common //这个很重要 2、清理残留数据 dpkg -l |grep ^rc|awk {print $2} |sudo xargs dpkg -P 3、安装 …

HIT计网笔记

一、实践课笔记 1. 路由器连接的是两个不同的网络&#xff0c;交换机连接的是同一个网络。路由器负责在不同网段转移数据&#xff0c;交换机看mac地址&#xff0c;路由器看ip地址。 2. 子网掩码可以分离出IP地址中的网络地址和主机地址&#xff0c;同一个网络的网络地址相同&…

前端学习(2015)vue之电商管理系统电商系统之实现图片的预览效果

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…