zoukankan      html  css  js  c++  java
  • 架构模式理解札记

    个人觉得架构模式应该也有包含关系(一个主要的思想,具体实现里面包含其他的架构思想),一个应用不单单只使用了一个架构思想

    1.分层模式   UI层->应用层->业务层->数据层

    主要用于当页面交互的桌面应用,点击UI->触发功能->实现业务->操作数据,举个例子 去机器上面点击取号,执行取号功能模块,输入/选择具体业务信息触发业务实现逻辑代码,操作数据库添加预约信息。

    2.客户端/服务器模式

    一端组合拼接请求并发送到服务器端,服务器端专门处理业务逻辑和数据处理,将处理结果返回给到客户端

    3.主从模式

    一个大对象实现大部分功能,大对象创建其他小对象来实现一些特殊的功能(如一个应用的多线程,公司招人来干活)

    4.管道-过滤器模式

    一个工作切分为多个步骤,上一步的结果为下一步的输入,最终返回结果。例如源代码到执行文件的过程、GPUImage滤镜功能

    5.代理模式(有问题通过经纪人来沟通)

    6.P2P模式(对象既可以做客户端又可以做服务端,角色随时间场景变化而变换)

    7.事件-总线模式

    事件触发之后,由常驻对象来派发消息,其他对象订阅消息,并执行自己的业务逻辑(通知、KVO)

    8.MVC模式 视图 模型 控制器 

    控制器持有视图和模型,通过控制器来实现视图和模型的交互

    9.黑板模式 (语音识别、图片识别)

    运用于识别功能

    10.解释器模式(数据库SQL语句查询、通信协议)

    格式化数据用于传递 信息/指令

    11.微内核模式(IDE最重要的核心是编辑和显示等,至于提醒逻辑、显示样式、编译等这些具体规则都是不确定的)

    一个核心类实现基础功能,定义基本逻辑。由其他类拓展实现功能

    12.微服务模式

    将功能拆分为粒度很小独立的功能模块

     13.基于空间的架构模式(云架构模式)

    用于处理大数据量处理的情况,将一些和功能模块相关的数据库数据在内存中缓存起来(加速访问、适时同步),同时创建的处理单元保留一份数据副本,根据用户访问量变化情况,动态创建/移除处理单元。(FMDB 的 FMDatabasePool)

    参考链接

    https://blog.csdn.net/jcq521045349/article/details/104734323/

    http://www.voidcn.com/article/p-tmghjkgk-bnr.html

    https://www.cnblogs.com/IcanFixIt/p/7518146.html

  • 相关阅读:
    【NOI2008】志愿者招募
    【NOI2015】小园丁和老司机
    【TJOI2007】小朋友
    【HNOI2008】神奇的国度
    【CTSC2014】企鹅QQ
    【CQOI2014】通配符匹配
    【JSOI2008】火星人
    【SCOI2007】压缩
    【ZJOI2009】对称的正方形
    【LOJ#6066】同构子树
  • 原文地址:https://www.cnblogs.com/yuxiaoyiyou/p/14820928.html
Copyright © 2011-2022 走看看