Navi 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Navi 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Navi 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发网页组件
开源组织 爱奇艺
地区 国产
投 递 者 爱奇艺开源文化
适用人群 未知
收录时间 2018-12-14

软件简介

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 AndroidOrderCreateHandler
public class OrderCreateService {
    public OrderCreateResponse createOrder(OrderRequest request) {
        // ...
        // Trunk Logic
        // ...
        
        // Branch Logic
        OrderCreateHandler handler = selector.select(request, OrderCreateHandler.class);
        handler.handle(request);
        
        // ...
        // Trunk Logic
        // ...
    }
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
3 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部