分层模式

这种模式主要是将设计分层,每一层为其上层提供服务。例如:web开发中我们常常将某些常用的RESTful接口抽象出一个service层。

客户端-服务端模式

客户端和服务端分离,从而解耦。通过这样设计,服务端可以同时为多个客户端提供服务。例如:微信。手机上的微信就是一个客户端, 而服务器则在腾讯。

主从模式

将整个软件区分为两块,一个是master,中文常叫做主,另一个是slave,中文常叫做从。例如:Nginx就使用了这种模式,因此master 可以方便的管理多个slave。

管道模式

将一个函数或者软件的输出作为下一个函数或者软件的输入,然后把他们串起来,就形成了管道模式。例如:bash中的 |

消息传递模式

broker,最常见到这个词语的地方就是任务队列。我们通过一个中间介质,把消息的发布者和消费者解耦。例如:Celery。

点对点模式

大名鼎鼎的P2P,这是一种没有中央服务器的模式。例如:种子。

event-bus模式

这种模式和消息传递模式很像,区别在于,消息传递模式,消费者主动监听可以消费的队列,而这种模式,是注册事件,由owner调用,例如:安卓中的路由监听。

MVC模式

这是web开发中最常见的一种模式了。 通过将Model(提供数据),View(处理视图),Controller(粘合两者)区分开来,Model和View提供服务,Controller负责整合。

软件架构自学笔记——常见的软件架构(https://jiajunhuang.com/articles/2018_09_16-common_software_archtecture_pattern.md.html)的更多相关文章

  1. 软件架构自学笔记-- 转载“虎牙在全球 DNS 秒级生效上的实践”

    虎牙在全球 DNS 秒级生效上的实践 这次分享的是全球 DNS 秒级生效在虎牙的实践,以及由此产生的一些思考,整体上,分为以下 5 各部分: 背景介绍: 方案设计和对比: 高可用: 具体实践和落地: ...

  2. 软件架构自学笔记----分享“去哪儿 Hadoop 集群 Federation 数据拷贝优化”

    去哪儿 Hadoop 集群 Federation 数据拷贝优化 背景 去哪儿 Hadoop 集群随着去哪儿网的发展一直在优化改进,基本保证了业务数据存储量和计算量爆发式增长下的存储服务质量.然而,随着 ...

  3. STM32单片机应用与全案例实践 /stm32自学笔记 第二版 pdf

    STM32单片机应用与全案例实践pdf https://pan.baidu.com/s/16WrivuLcHvLTwS__Zcwl6Q 4rj3 stm32自学笔记 第二版 pdf https://p ...

  4. Hadoop自学笔记(一)常见Hadoop相关项目一览

    本自学笔记来自于Yutube上的视频Hadoop系列.网址: https://www.youtube.com/watch?v=-TaAVaAwZTs(当中一个) 以后不再赘述 自学笔记,难免有各类错误 ...

  5. jQuery:自学笔记(4)——事件与事件对象

    jQuery:自学笔记(4)——事件与事件对象 jQuery中的事件 什么是事件 所谓事件,就是被对象识别的操作,即操作对象队环境变化的感知和反应,例如单击按钮或者敲击键盘上的按键. 所谓事件流,是指 ...

  6. 《Linux就该这么学》自学笔记_ch22_使用openstack部署云计算服务环境

    <Linux就该这么学>自学笔记_ch22_使用openstackb部署云计算服务环境 文章主要内容: 了解云计算 Openstack项目 服务模块组件详解 安装Openstack软件 使 ...

  7. TypeScript 入门自学笔记 — 类型断言(二)

    码文不易,转载请带上本文链接,感谢~ https://www.cnblogs.com/echoyya/p/14558034.html 目录 码文不易,转载请带上本文链接,感谢~ https://www ...

  8. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  9. vue 自学笔记记录

    vue 自学笔记(一): 知识内容:  安装vue ,创建vue实例,安装第一个组件,单项数据流 https://www.cnblogs.com/baili-luoyun/p/10763163.htm ...

随机推荐

  1. Linux之网络ping(unknown host)故障及yum no more mirrors to try

    1.ping外网出现ping:unknown host   字样故障 鉴于网上大多都是提供临时生效的解决办法,这里不再赘述,并提供下永久生效的方案: 永久生效: 1)添加DNS地址和下一跳网关地址至网 ...

  2. Ajax基本写法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 用fallocate进行"文件预留"或"文件打洞"【转】

    转自uestc-leon的博客 内容作了一些修改,查看原文请访问uestc-leon 1. 什么是空洞文件? "在UNIX文件操作中,文件位移量可以大于文件的当前长度,在这种情况下,对该文件 ...

  4. proxy 跨域配置, 针对有axios的baseURL

    1.首先主要的config文件下的index.js中的proxytable配置 proxyTable:{ '/proxy': { target:'http://192.168.2.141:8080', ...

  5. UCloud 的安全秘钥

    UCloud 的安全秘钥(困难) 1200ms 262144K 每个 UCloud 用户会构造一个由数字序列组成的秘钥,用于对服务器进行各种操作.作为一家安全可信的云计算平台,秘钥的安全性至关重要.因 ...

  6. LightOJ 1370 Bi-shoe and Phi-shoe

    /* LightOJ 1370 Bi-shoe and Phi-shoe http://lightoj.com/login_main.php?url=volume_showproblem.php?pr ...

  7. CF #330 D2 E

    相当于给你一些点,要你最多删除不超过k,使得能使用一个边长为整数的长方形,与XY轴平行,使长方形的面积最小. 上课时拿笔来画画,然后忽然思路就开了,要是比赛也这样就好了~~先按X,Y分别排序,由于K较 ...

  8. 设计模式-&gt;观察者模式

    观察者模式能很大的降低模块之前的耦合.详细的观察者模式,客官们能够去看<设计模式>或者<Head first设计模式>等之类的书. 在java中,java.util库中封装了观 ...

  9. MySql 同一个列中的内容进行批量改动

    问题重现: MySql 数据库中,一给列的内容中包含 ".wmv"     须要将 "." 后的wmv格式 换为"flv" 解决的方法 up ...

  10. Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)

    1.main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x ...