Navi 组件化系统框架

开源网站开源项目 24-04-28 10:24:22

Navi 项目介绍:

在过去的一年里,会员交易系统的下单服务进行了彻底重构。重构后,在下单服务上对接新支付方式的开发时间从过去的三天左右,变为现在的一小时左右,工作效率大幅提高。

这一成绩的实现依靠的是下单服务的核心框架。这套框架能够通过注解、文件等配置方式将不同组件动态组合,形成复杂而又完整的功能。这套框架会根据声明的路由配置,为每一次请求选择合适的组件,从而实现高内聚、低耦合的组件化设计。

为了能让其它项目也能享受到模块化设计的好处,我设计了 Navi 项目。Navi 项目将上述设计通用化,使得普通开发人员也能迅速实现组件化系统。

核心价值:Navi 的核心价值在于能够通过注解配置,实现类似于 MVC 框架那样的路由功能。使得开发人员可以迅速开发出组件化的复杂系统

如何使用:

@EqualMatcher(property = "clientType", value = "android")@VersionMatcher(range = "[1.0.0,2.0.0)")public class AndroidV1OrderCreateHandler implements OrderCreateHandler {}OrderRequest request = new OrderRequest():request.setClientType("android");request.setVersion("1.5.0");// this handler is AndroidOrderCreateHandlerpublic class OrderCreateService {    public OrderCreateResponse createOrder(OrderRequest request) {        // ...        // Trunk Logic        // ...                // Branch Logic        OrderCreateHandler handler = selector.select(request, OrderCreateHandler.class);        handler.handle(request);                // ...        // Trunk Logic        // ...    }}
[Navi 组件化系统框架]相关推荐
Sparky JavaScript 图形工具

Sparky JavaScript 图形工具

Sparklines 是个强大又简单的 word-sized 图形。Sparky 是个 JavaScript 库,用来在 web 浏览器上绘制动……...

Hijack Ruby 进程劫持工具

Hijack,可以给现有的 Ruby 进程提供 irb 会话。 Hijack 允许你连接到任何 Ruby 进程并执行代码,就好像……...

Vangogh iOS 颜色模拟

Vangogh iOS 颜色模拟

Vangogh 是 iOS 颜色连贯绑定模拟器。 在线示例请看:http://gfycat.com/HelpfulAchingCoati ...

今日开源
  1. Sly jquery 滚动条插件

    Sly jquery 滚动条插件

    Sly 是一个 JavaScript 库,用于基于项目导航的高级单向滚动。 它可以用作简单的滚动条替换,基于项目的高级导航工具,也可以用作视差网站的出色导航和动画界面。这是通过功能强大且对开发人员友好的API实现的,该……

    开源软件 2024-05-12

  2. FreeRDP 远程桌面协议(RDP)工具

    FreeRDP 远程桌面协议(RDP)工具

    FreeRDP是一个免费开源实现的一个远程桌面协议(RDP)工具,用于从Linux下远程连接到Windows的远程桌面。FreeRDP 0.9版本是基于GPL开源协议,而自FreeRDP 1.0版本后是基于Apache许可协议发布。

    开源软件 2024-05-12

  3. Rust Mozilla的编程语言

    Rust Mozilla的编程语言

    Rust 是 Mozilla 的一个新的编程语言,由web语言的领军人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力开发。 创建这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大……

    开源软件 2024-05-11

返回顶部小火箭