java 后端事件领域模型框架 kaka 更新至 2.0.0

栏目: 软件资讯 · 发布时间: 5年前

内容简介:kaka是一款服务于java后端的事件领域模型框架,主要目的为解耦业务、 简化程序复杂性、提高代码可读性和降低开发维护成本。 本次更新内容如下: aop删除不必要的Class及其相关类名、包名的映射缓存,增加运行时动...

kaka是一款服务于 java 后端的事件领域模型框架,主要目的为解耦业务、 简化程序复杂性、提高代码可读性和降低开发维护成本。

本次更新内容如下:

  1. aop删除不必要的Class及其相关类名、包名的映射缓存,增加运行时动态Aop能力。
  2. 将Facade中包含regist文本的方法,全部更改为register;优化Facade中Mediator注册。
  3. Facade实例获取由原来的单例改为工厂模式,可继承Facade自定义Queue实现或者Quatrz(或其它)的定时调度。
    QuartzFacade facade = FacadeFactory.config(QuartzFacade.class); //注册自定义Facade子类,全局注册一次
    
    //后面任何地方可使用如下语句获得Facade对象进行事件分发
    
    QuartzFacade facade = FacadeFactory.getFacade();
    
    //QuartzFacade 在本框架中未做具体实现,仅作为参考范例

     

  4. 额外增加基于Excel数值配置表(预先转换为制表符分割单元格的纯文本,也可自定义格式并做相应实现)的解析处理功能
    //TextNumericConfig为抽象类,主要有如下抽象方法:
    //  String initDelimiter() 初始化单元格数据的分割符
    //  void cacheObject(T info) 缓存一行数值数据 T
    //  void parseBefore() 解析前的处理
    //  void parseAfter()  解析后的处理
    
    //范例如下:
    
    /**
     * 自定义数值数据管理器,每行数据将自动转换为ConfPlaceInfo对象。
     */
    @Numeric(src = "conf_place.txt")
    public class ConfPlaceInfoManager extends TextNumericConfig<ConfPlaceInfo> {
    
        private final Map<Integer, ConfPlaceInfo> map = new ConcurrentHashMap<>();
        private final List<ConfPlaceInfo> list = new CopyOnWriteArrayList<>();
    
        @Override
        protected String initDelimiter() {
            return "\t";
        }
    
        @Override
        protected void cacheObject(ConfPlaceInfo info) {
            if (info.getMaxGold() < 0) {
                info.setMaxGold(Integer.MAX_VALUE);
            }
            map.put(info.getId(), info);
            list.add(info);
        }
    
        @Override
        protected void parseBefore() {
            map.clear();
            list.clear();
        }
    
        @Override
        protected void parseAfter() {
        }
    
        public ConfPlaceInfo getConfPlaceInfo(int id) {
            if (id <= 0) id = 1;
            return this.map.get(id);
        }
    }
    
    
    TextNumericConfig numericConfig = facade.retrieveProxy(file.getName()); //fileName为Numeric注解配置的src参数 
    numericConfig.parse(is, "UTF-8", 1); //is为数值配置文件输入流

     

参考消息:https://gitee.com/zkpursuit/kaka-notice-lib


以上所述就是小编给大家介绍的《java 后端事件领域模型框架 kaka 更新至 2.0.0》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP for the World Wide Web, Second Edition (Visual QuickStart Gu

PHP for the World Wide Web, Second Edition (Visual QuickStart Gu

Larry Ullman / Peachpit Press / 2004-02-02 / USD 29.99

So you know HTML, even JavaScript, but the idea of learning an actual programming language like PHP terrifies you? Well, stop quaking and get going with this easy task-based guide! Aimed at beginning ......一起来看看 《PHP for the World Wide Web, Second Edition (Visual QuickStart Gu》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具