《架构设计的条经验示例PPT学习教案.pptx》由会员分享,可在线阅读,更多相关《架构设计的条经验示例PPT学习教案.pptx(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1架构设计的条经验架构设计的条经验(jngyn)示例示例第一页,共56页。职业发展职业发展(fzhn)小语小语成长(chngzhng)易经:成长(chngzhng)是螺旋式上升过程吸收(xshu)新技能沉淀成经验第1页/共56页第二页,共56页。pp架构设计的架构设计的架构设计的架构设计的5 5视图方法简介视图方法简介视图方法简介视图方法简介(ji(ji n ji)n ji)pp如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口pp划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化pp划分子系统:分区的引
2、入划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入pp划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取pp接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口pp整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进pp自己动手设计自己动手设计自己动手设计自己动手设计WinZipWinZip架构架构架构架构pp架构设计的架构设计的架构设计的架构设计的1010条经验条经验条经验条经验议议 程程第2页/共56页第三页,共56页。第3页/共56页第四页,共56页。逻辑逻辑(lu j)架构,
3、物理架构,物理架构架构 A properly designed logical n-tire A properly designed logical n-tire architecture provides the following architecture provides the following benefits:benefits:Logically organized code Logically organized code Easier maintenance Easier maintenance Better reuse of code Better reuse of cod
4、e Better team-development experience Better team-development experience Higher clarity in codingHigher clarity in coding On the other hand,a properly chosen On the other hand,a properly chosen physical n-tier architecture can provide physical n-tier architecture can provide the following benefits:th
5、e following benefits:Performance Performance Scalability Scalability Fault tolerance Fault tolerance SecuritySecurity第4页/共56页第五页,共56页。n n运行架构n n逻辑架构n n物理(wl)架构n n开发架构n n数据架构A.A.进程、线程进程、线程B.B.接口的定义接口的定义C.C.子系统的划分子系统的划分D.D.服务器的选型服务器的选型E.E.(当你用(当你用C C)结构化方法的模块)结构化方法的模块F.F.逻辑层(逻辑层(LayerLayer)G.G.物理层(物理层
6、(TierTier)H.H.(并行开发需要)源程序目录(并行开发需要)源程序目录I.I.数据分布与数据库数据分布与数据库SchemaSchemaJ.J.(没选(没选RDBMSRDBMS)文件格式)文件格式K.K.(嵌入式系统)(嵌入式系统)FlashFlash存储存储(cn ch(cn ch)结构结构有奖问答有奖问答(wnd)第5页/共56页第六页,共56页。有奖问答(wnd)第6页/共56页第七页,共56页。架构设计的架构设计的5视图视图(sht)运行(ynxng)架构数据(shj)架构物理架构逻辑架构开发架构 持久数据单元 文件 关系数据库 实时数据库 数据存储格式 文件格式 数据库Sch
7、ema 程序单元 源文件、配置文件 程序库、框架 目标单元 程序单元组织 Project划分 Project目录结构 编译依赖关系 控制流 进程、线程 中断服务程序 控制流组织 系统启动与停机 控制流通信 加锁与同步 职责划分 逻辑层(Layer)子系统、模块 关键类 职责间协作 接口 协作关系 物理节点 PC、服务器 单片机、单板机、专用机 软件安装、部署、烧写 系统软件选型 物理节点拓扑 连接方式、拓扑结构 物理层(Tier)冗余考虑第7页/共56页第八页,共56页。pp架构设计的架构设计的架构设计的架构设计的5 5视图方法简介视图方法简介视图方法简介视图方法简介pp如何划分子系统、确定接
8、口如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口pp划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化pp划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入pp划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取pp接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口pp整体思路:螺旋整体思路:螺旋整体思路:螺旋整体思路:螺旋(luxun)(luxun)渐进渐进渐进渐进pp自己动手设计自己动手设计自己动手设计自己动手设计W
9、inZipWinZip架构架构架构架构pp架构设计的架构设计的架构设计的架构设计的1010条经验条经验条经验条经验议议 程程第8页/共56页第九页,共56页。小帖子小帖子(ti zi),引发大思考,引发大思考第9页/共56页第十页,共56页。思考一:不同思考一:不同(b tn)系统,层数一样?系统,层数一样?n n案例:案例:n n一个一个(y(y)7)7层架构层架构分析分析第10页/共56页第十一页,共56页。思考思考(sko)二:同一系二:同一系统,层数不变?统,层数不变?n n你所在的公司:你所在的公司:n n投标投标(tu bio)用用“市场架构市场架构”研发用研发用“技术架构技术架构
10、”?第11页/共56页第十二页,共56页。结论结论(jiln):分层的细化:分层的细化第12页/共56页第十三页,共56页。pp架构设计的架构设计的架构设计的架构设计的5 5视图方法简介视图方法简介视图方法简介视图方法简介pp如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口pp划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化pp划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入pp划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取p
11、p接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口pp整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进(jinjn)(jinjn)pp自己动手设计自己动手设计自己动手设计自己动手设计WinZipWinZip架构架构架构架构pp架构设计的架构设计的架构设计的架构设计的1010条经验条经验条经验条经验议议 程程第13页/共56页第十四页,共56页。大著作大著作(zhzu),留下,留下小问题小问题n n代码之道:代码之道:n n 快速迭代快速迭代(di di)(di di)有个基本有个基本前提:开发应该前提:开发应该“深度优先深度优先”
12、,而不是而不是“广度优先广度优先”。第14页/共56页第十五页,共56页。微软牛人微软牛人(ni rn)说:说:要深度优先!要深度优先!老大老大(lod)(lod)说:分层架构!说:分层架构!程序员:额的神呀谁告诉我怎么先程序员:额的神呀谁告诉我怎么先做一个功能?做一个功能?第15页/共56页第十六页,共56页。架构架构(ji u):分层:分层+分区分区第16页/共56页第十七页,共56页。结论:只分层不分区结论:只分层不分区(fn q),无法迭代无法迭代第17页/共56页第十八页,共56页。pp架构设计的架构设计的架构设计的架构设计的5 5视图方法简介视图方法简介视图方法简介视图方法简介pp
13、如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口pp划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化pp划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入pp划分子系统:机制划分子系统:机制划分子系统:机制划分子系统:机制(jzh)(jzh)的提取的提取的提取的提取pp接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口pp整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进pp自己动手设计自己动手设计自己动手设计
14、自己动手设计WinZipWinZip架构架构架构架构pp架构设计的架构设计的架构设计的架构设计的1010条经验条经验条经验条经验议议 程程第18页/共56页第十九页,共56页。大师大师(dsh)说,但你如何做说,但你如何做 机制才是设计的灵魂所在机制才是设计的灵魂所在否则否则我们就将不得不面对一群我们就将不得不面对一群(y qn)(y qn)无无法相互协作的对象,它们相互推搡法相互协作的对象,它们相互推搡着做自己的事情而毫不关心其他对着做自己的事情而毫不关心其他对象。象。Grady BoochGrady Booch面向对象分析与设计面向对象分析与设计第19页/共56页第二十页,共56页。架构:
15、分层架构:分层+机制机制(jzh)提取提取第20页/共56页第二十一页,共56页。只识别只识别(shbi)协作,协作,不提取通用机制不提取通用机制n n问题(wnt)何在?第21页/共56页第二十二页,共56页。如何提取如何提取(tq)通用机通用机制制第22页/共56页第二十三页,共56页。案例案例(n l):消息机制:消息机制第23页/共56页第二十四页,共56页。结论结论(jiln):三管齐:三管齐下下n n手段:分层的细化n n手段:分区(fn q)的引入n n手段:机制的提取第24页/共56页第二十五页,共56页。pp架构设计的架构设计的架构设计的架构设计的5 5视图方法简介视图方法简
16、介视图方法简介视图方法简介pp如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口pp划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化pp划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入pp划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取pp接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口pp整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进pp自己动手自己动手自己动手自
17、己动手(dng sh(dng sh u)u)设计设计设计设计WinZipWinZip架构架构架构架构pp架构设计的架构设计的架构设计的架构设计的1010条经验条经验条经验条经验议议 程程第25页/共56页第二十六页,共56页。已定义已定义(dngy)接口,接口,架构仍混乱?架构仍混乱?饭店(fndin)的故事软件(run jin)公司的故事俺们公司的事儿,你咋知道?第26页/共56页第二十七页,共56页。看似简单,实则看似简单,实则(shz)错误错误我的接口我的接口(ji ku)我做主我做主第27页/共56页第二十八页,共56页。好接口好接口(ji ku)是怎样是怎样炼成的?炼成的?n n协作
18、决定(judng)接口第28页/共56页第二十九页,共56页。结论:不要结论:不要(byo)迷信接口迷信接口n nInterface:只是(zhsh)技术上稳定的n n但有业务含义的Interface未必稳定第29页/共56页第三十页,共56页。pp架构设计的架构设计的架构设计的架构设计的5 5视图视图视图视图(sht)(sht)方法简介方法简介方法简介方法简介pp如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口pp划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化pp划分子系统:分区的引入划分子系统:分区的
19、引入划分子系统:分区的引入划分子系统:分区的引入pp划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取pp接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口pp整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进pp自己动手设计自己动手设计自己动手设计自己动手设计WinZipWinZip架构架构架构架构pp架构设计的架构设计的架构设计的架构设计的1010条经验条经验条经验条经验议议 程程第30页/共56页第三十一页,共56页。今天今天(jntin),你迭代了吗?,你迭代了吗?n n复杂(fz)系统的
20、应对之道第31页/共56页第三十二页,共56页。逻辑逻辑(lu j)架构:迭代的设计思架构:迭代的设计思路路结构(jigu)方面的切分行为方面(fngmin)的约定第32页/共56页第三十三页,共56页。第33页/共56页第三十四页,共56页。pp架构设计的架构设计的架构设计的架构设计的5 5视图方法简介视图方法简介视图方法简介视图方法简介pp如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口pp划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化pp划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的
21、引入划分子系统:分区的引入pp划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取pp接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口pp整体思路整体思路整体思路整体思路(sl)(sl):螺旋渐进:螺旋渐进:螺旋渐进:螺旋渐进pp自己动手设计自己动手设计自己动手设计自己动手设计WinZipWinZip架构架构架构架构pp架构设计的架构设计的架构设计的架构设计的1010条经验条经验条经验条经验议议 程程第34页/共56页第三十五页,共56页。案例案例(n l):WinZip的架构设计的架构设计过程过程第35页/共56页第
22、三十六页,共56页。初期初期(chq):引入分层架构:引入分层架构第36页/共56页第三十七页,共56页。初期:层间关系初期:层间关系(gun x)(压缩(压缩时)时)界面(jimin)交互层压缩(y su)控制层原文件读写层压缩包读写层压缩意图压缩进度哪个文件字节流Bit 块等第37页/共56页第三十八页,共56页。初期初期(chq):层间关系(解压:层间关系(解压缩时)缩时)界面(jimin)交互层压缩(y su)控制层原文件读写层压缩包读写层解压缩意图解压缩进度哪个文件文件名及字节流Bit 块等第38页/共56页第三十九页,共56页。下面下面(xi mian)进行进行第39页/共56页第
23、四十页,共56页。对比:对比:“市场市场(shchng)”架构架构第40页/共56页第四十一页,共56页。分层、分区、机制分层、分区、机制(jzh)提取提取第41页/共56页第四十二页,共56页。下面下面(xi mian)进行进行第42页/共56页第四十三页,共56页。压缩功能压缩功能(gngnng)(多文件源)(多文件源)第43页/共56页第四十四页,共56页。下面下面(xi mian)进行进行第44页/共56页第四十五页,共56页。包包|接接口口(ji ku)图图第45页/共56页第四十六页,共56页。下面下面(xi mian)进行进行第46页/共56页第四十七页,共56页。第47页/共5
24、6页第四十八页,共56页。第48页/共56页第四十九页,共56页。朝花夕拾:案例朝花夕拾:案例(n l)的经验要的经验要点点1.1.划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化2.2.划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入3.3.划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取4.4.协作决定接口协作决定接口协作决定接口协作决定接口(ji k(ji k u)u)5.5.循序渐进的螺旋思维循序渐进的螺旋思维循序渐进的螺旋思维循序渐进的螺旋思维6.6.序列图的优点序
25、列图的优点序列图的优点序列图的优点 与与与与 协作图的问题协作图的问题协作图的问题协作图的问题7.7.包包包包-接口接口接口接口(ji k(ji k u)u)图:从结构到行为的桥图:从结构到行为的桥图:从结构到行为的桥图:从结构到行为的桥第49页/共56页第五十页,共56页。pp架构设计的架构设计的架构设计的架构设计的5 5视图视图视图视图(sht)(sht)方法简介方法简介方法简介方法简介pp如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口如何划分子系统、确定接口pp划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化划分子系统:分层的细化pp划分子系统
26、:分区的引入划分子系统:分区的引入划分子系统:分区的引入划分子系统:分区的引入pp划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取划分子系统:机制的提取pp接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口接口定义:协作决定接口pp整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进整体思路:螺旋渐进pp自己动手设计自己动手设计自己动手设计自己动手设计WinZipWinZip架构架构架构架构pp架构设计的架构设计的架构设计的架构设计的1010条经验条经验条经验条经验议议 程程第50页/共56页第五十一页,共56页。划分子系统:分层的细化划分子系统:分区的引入
27、划分子系统:机制的提取(tq)协作决定接口序列图的优点 与 协作图的问题包-接口图:从结构到行为的桥灰盒包图:描述关键子系统循序渐进的螺旋思维设计模式:包内结构设计模式:包间协作3 13 23 33 53 63 73 83 93103 4架构设计的架构设计的10条经验条经验(jngyn)第51页/共56页第五十二页,共56页。1.1.架构设计的5视图方法中,运行(ynxng)架构视图强调 。2.2.职责划分3.3.物理节点组织4.4.数据持久化5.5.控制流关系6.6.程序单元组织有奖问答(wnd)第52页/共56页第五十三页,共56页。架构设计的架构设计的5视图视图(sht)运行(ynxng
28、)架构数据(shj)架构物理架构逻辑架构开发架构 持久数据单元 文件 关系数据库 实时数据库 数据存储格式 文件格式 数据库Schema 程序单元 源文件、配置文件 程序库、框架 目标单元 程序单元组织 Project划分 Project目录结构 编译依赖关系 控制流 进程、线程 中断服务程序 控制流组织 系统启动与停机 控制流通信 加锁与同步 职责划分 逻辑层(Layer)子系统、模块 关键类 职责间协作 接口 协作关系 物理节点 PC、服务器 单片机、单板机、专用机 软件安装、部署、烧写 系统软件选型 物理节点拓扑 连接方式、拓扑结构 物理层(Tier)冗余考虑第53页/共56页第五十四页
29、,共56页。1.1.架构(架构(ArchitectureArchitecture)、框架()、框架(FrameworkFramework)、面向)、面向对象(对象(OOOO)等技术的关系,以下正确的是)等技术的关系,以下正确的是 2.2.OOOO高手就是架构师高手就是架构师3.3.面向对象涵盖面向对象涵盖OOAOOA、OODOOD、OOPOOP等,所以已覆盖等,所以已覆盖了架构设计的所有所需技能了架构设计的所有所需技能4.4.FrameworkFramework本质上和本质上和OOOO无关,用无关,用C C语言也可编写语言也可编写(binxi)(binxi)框架框架5.5.架构大,架构大,FrameworkFramework比架构小比架构小6.6.FrameworkFramework和架构无大小之别,任何复杂的系统和和架构无大小之别,任何复杂的系统和子系统都可以有架构设计,也都可以先设计成子系统都可以有架构设计,也都可以先设计成FrameworkFramework供重用供重用有奖问答(wnd)第54页/共56页第五十五页,共56页。谢谢 谢谢 大大 家家,欢欢 迎迎(h u n y n g)提提问问手手 机机:138 1800 1229架构架构(ji u)内内训垂询训垂询第55页/共56页第五十六页,共56页。
限制150内