![](https://img.haomeiwen.com/i5268036/7d145743a5f88b43.png)
![](https://img.haomeiwen.com/i5268036/d58a8b4701c1aa53.png)
![](https://img.haomeiwen.com/i5268036/9740caf4a29c9fec.png)
![](https://img.haomeiwen.com/i5268036/a1af81fa721f5be3.png)
一个系统一般包含多种风格。
![](https://img.haomeiwen.com/i5268036/c190682028161190.png)
![](https://img.haomeiwen.com/i5268036/c3d637b6dc28f0e7.png)
![](https://img.haomeiwen.com/i5268036/d919ab8288544978.png)
概要设计,主要对系统进行拆分,拆分成子系统,子系统再拆分成各个模块,模块再拆分成各个小模块。
结构化设计中还没有架构的概念,所以概要设计相当于架构设计。
信息隐蔽:倡议使用公开的接口进行数据交换,而不是绕开接口走内部访问的机制。
![](https://img.haomeiwen.com/i5268036/35beb326dcb448d0.png)
![](https://img.haomeiwen.com/i5268036/cc0b4bc3d0a245a1.png)
![](https://img.haomeiwen.com/i5268036/77472159a9cc33e6.png)
设计原则的考试形式,一般是给你一段描述,判断这个描述正确与否。
单一职责原则:目的单一的类,代表与其他类交流会比较少,这样修改这个类的影响面就小。
开放-封闭原则:对系统进行修改调整时,优先采用扩展,通过增加模块来实现。如果是对原有模块进行修改可能会引入新的错误。
李氏替换原则:如果子类中对方法进行了重写,那就不能替换父类。
组合重用原则:组合代表松耦合,继承代表紧耦合
最少知识法则:因为如果了解很深,会导致绕开接口直接进行操作。
![](https://img.haomeiwen.com/i5268036/f2ceff21b5a66515.png)
![](https://img.haomeiwen.com/i5268036/90468039ff4d1763.png)
![](https://img.haomeiwen.com/i5268036/cd171bd339d25ce7.png)
设计模式的考试形式:给你一个场景,采用哪种设计模式合适;设计模式的分类,某个设计模式应该分到哪个类别。
类模式:不需要实例化就可以执行。
对象模式:需要实例化才能去完成职能。
![](https://img.haomeiwen.com/i5268036/c5b3939da0b3b461.png)
![](https://img.haomeiwen.com/i5268036/388987a8ac77a6de.png)
![](https://img.haomeiwen.com/i5268036/b93db385a559840d.png)
![](https://img.haomeiwen.com/i5268036/3d652559967c40a8.png)
![](https://img.haomeiwen.com/i5268036/50525ef66441cc41.png)
![](https://img.haomeiwen.com/i5268036/7d32280cb432d1d9.png)
![](https://img.haomeiwen.com/i5268036/d7c85a8241ba6527.png)
![](https://img.haomeiwen.com/i5268036/65f200de1d4459f1.png)
中介:将多对多转化成1对多
代理:中间加一层,目的是不直接联系。
![](https://img.haomeiwen.com/i5268036/c99ef2c9419bf551.png)
访问者模式:访问和数据做分离。
![](https://img.haomeiwen.com/i5268036/65eb53071d060a70.png)
![](https://img.haomeiwen.com/i5268036/0e0eec2612610b15.png)
![](https://img.haomeiwen.com/i5268036/315a8d897391c9c9.png)
![](https://img.haomeiwen.com/i5268036/d5d774f9f4e06718.png)
![](https://img.haomeiwen.com/i5268036/bff4841456e718af.png)
![](https://img.haomeiwen.com/i5268036/d91d1f01d81115a4.png)
![](https://img.haomeiwen.com/i5268036/ce9b375dd80e50fa.png)
![](https://img.haomeiwen.com/i5268036/3e99936de4f67c0e.png)
![](https://img.haomeiwen.com/i5268036/7c3e373d8ecdb07e.png)
![](https://img.haomeiwen.com/i5268036/5ab6eb84e0634fb4.png)
![](https://img.haomeiwen.com/i5268036/8150b7fab1364d2a.png)
![](https://img.haomeiwen.com/i5268036/cb5c8d0c0a91ffac.png)
![](https://img.haomeiwen.com/i5268036/d0de69ee2af18223.png)
![](https://img.haomeiwen.com/i5268036/272f8533e66eb77c.png)
![](https://img.haomeiwen.com/i5268036/2e3306ac0f409ec8.png)
DNS域名解析:将域名解析为不同服务器的ip地址,从而实现在解析层进行分流。
NAT通过ip地址和端口号的映射来实现负载均衡。
![](https://img.haomeiwen.com/i5268036/87b7189f955f68cb.png)
有状态:与上下文有关
无状态:与上下文无关,本地存了session,调接口时不需要再传递客户信息。
![](https://img.haomeiwen.com/i5268036/f053c5490fa86ce2.png)
![](https://img.haomeiwen.com/i5268036/2650f982bc71cf7d.png)
缓存的引入是提升性能的一种解决方案。
![](https://img.haomeiwen.com/i5268036/ed9b8890fb089662.png)
CDN:通过对服务器进行镜像操作,发送到各个地方,减少延迟。建立网络型的拓扑结构,拓扑结构的基本思想是部署多个节点,以便客户群体可以就近访问,从而减少网络延迟,以及长距离的数据传输和通信。
![](https://img.haomeiwen.com/i5268036/b58027a04873be48.png)
![](https://img.haomeiwen.com/i5268036/4547ccaafb0bbe68.png)
![](https://img.haomeiwen.com/i5268036/fcd8a325a217a76b.png)
![](https://img.haomeiwen.com/i5268036/e57870a77b706633.png)
![](https://img.haomeiwen.com/i5268036/ba82bb0fbffac5b4.png)
![](https://img.haomeiwen.com/i5268036/8ffab1b1753fa123.png)
![](https://img.haomeiwen.com/i5268036/fca315a498886464.png)
![](https://img.haomeiwen.com/i5268036/fa15c3df311029b6.png)
定时图核心是状态转换+时间因素
![](https://img.haomeiwen.com/i5268036/d94f4ada7012f870.png)
网友评论