• 11中常用框架模式


    11中常用框架模式

    1. 提供程序模式

    • 使其功能变灵活。
    • 实现延伸到外部,暴露给客户端。
    • 个性化扩展需求.

    2. 链式编程模式

    • 处理逻辑时流式,连贯的。
    • 大的功能或者问题域分解为小的问题,每个问题域之间没有前后依赖关系。
    • 传统方式或者扩展方法实现,传统方法返回本this。
    • 一般用于验证处理。

    3. 管道模式

    • 抽象出一个逻辑管道,信息从一端进入,中间经过定制环节处理,从另一端出去。
    • 管道从复杂程度分为带有客户端和服务端的凹形管道,一般处理复杂的消息处理,另一种是类型队列的直线管道模型,一般用来做消息推送。
    • 管道根据类别又分为自治管道和约定管道,自治管道各个组成模块都由自己控制,有自己决定管道内部结构以及执行流程;约定管道有一定封装逻辑,提供出来的接口和内部逻辑完成整个管道处理。使用中区别是自治管道自己往管道中添加委托对象,扩展点需求多变化时使用,约定管道内部公布一组管道生命周期事件,自己绑定所需事件,使用约定管道保证正确逻辑不被打乱。

    4. 逻辑上下文模式

    • 关于上下文的概念,上下文就是一个范围,对这个范围进行一个策略的配置,只要进入该范围的逻辑都会感知到这个上下文策略,并且配合它一起完成任务,上下文策略是约束这个范围中的逻辑行为的一种规则。
    • 逻辑上下文的作用就是将散落的代码结构聚集在一起,按照一个规则彼此协调完成一项整体工作,且代码出了这个范围自动释放占用上下文资源。例如事物处理。

    5. 钝化程序模式

    • 钝化模式即当程序执行到一定阶段,停止,交由下一个业务终端继续执行。停止时保留,持久化当前的状态。
    • 在CSharp中通常使用委托将整个业务流程串联起来,利用委托的可序列化特性,将委托当成索引直接序列化后保存在一种媒介中(例如xml),任何中断只要访问到这个持久化数据就可以进行流程重组。

    6. 规则外挂模式

    • 当业务规则会根据特定环境动态变化时,使用规则外挂模式快速的替换系统中任意一个业务规则,提高系统扩展性。
    • 利用业务规则易变化,业务逻辑不易变化,可以将业务规则动态注入,通过规则外挂模式将静态的代码(逻辑)和动态的代码(规则)粘合在一起。此模式主要用于长期运行,具有状态的管理流程下。

    7. 语句组件模式

    • 语句组建模式将所有无法变化,无法保存的代码进行对象化,让它脱离栈基于对象。
    • 基于钝化模式,将基于栈语句代码对象化为语句组件。这些组件有很强的生命周期,每一个语句组件中都保存着各自的状态数据,可以下次恢复时继续执行。
    • 语句组件的特点是,使执行代码变得可控,改模式用于工作流引擎框架。

    8. 面向契约模式

    • 借鉴于生活中的契约/合同关系思想,提供的服务接口都遵循一个契约,这个契约会在内部自动检查你是否满足了契约约定的条目,确定所调用服务接口是否能成功。
    • 契约条目检查器,检查契约使用是否正确。分为条件检查器验证请求接口的条件是否满足,后置条件检查器验证返回的数据是否满足契约。
    • 一般用于SOA架构中,使程序更为稳定,系统边界更为清晰。

    9. 异步消息事件驱动模式

    • 将直接调用服务的方式改变为实用消息来代替,不直接对服务调用,将调用参数发送到一个可以存放参数的容器中,这个消息容器再通过事先注册好的时间来通知最终处理者。
    • 异步消息事件驱动模式作为中间层框架设计模式,可以解除调用者和被调用者的耦合,可以动态的处理修改消息处理者,可以实现多热点消息传输。
    • 用到的场景为消息队列的设计。

    10. 总线消息路由模式

    • 分发客户端的消息调用,所有客户端请求都请求到一个消息总线中,然后消息总线通过总线路由进行后台服务寻址。
    • 在中间层添加一个总线的概念,使客户端不必关心请求繁多的服务,使多对多的模式变为一对多的模式。

    11. 元数据及元数据缓存池模式

    • 所谓元数据是对数据的描述数据,它本身也是一组明确定义的数据结构。
    • 元数据作为中间层,将在运行时才可以决定下来的东西借助元数据描述生成,同时放在元数据缓存池中,下次可以直接使用生成的元数据。
    • 元数据缓存池模式使用一个元数据中间层使谁变得柔性,不污染领域代码的同时,实现特定的功能。

    Demo地址:https://github.com/madeinchinalmc/Framepattern.git

  • 相关阅读:
    反射(五)之动态代理的作用
    反射(四)之反射在开发中的适用场景及利弊
    反射(三)之通过反射获取构造方法, 成员变量, 成员方法
    反射(二)之反射机制
    反射(一)之初探反射
    java多线程(五)之总结(转)
    java多线程(四)之同步机制
    java多线程(三)之售票案例
    java多线程(二)之实现Runnable接口
    java多线程(一)之继承Thread类
  • 原文地址:https://www.cnblogs.com/liumengchen-boke/p/9502042.html
Copyright © 2020-2023  润新知