一、提供简单、易用的接口
BaseService是一个完全封装了底层应用框架,为上层开发提供一系列简单、易用的接口,方便开发人员快速进行开发,以满足项目开发效率和质量的要求。
以下是一个示例:
/** * 根据随机参数来查询一个商品信息 * @param random 随机参数 * @return 商品信息 */ public Product getProductByRandom(String random) { Map params = new HashMap(); params.put("random", random); return baseRepository.selectOne(Product.class, params); }
通过这个简单的接口调用,可以轻松地在数据库中查询商品信息。从这个示例可以清晰地看到,BaseService所提供的接口简洁、易用,很容易通过各种简短的参数就能完成各项操作。
二、提供可扩展的框架
BaseService提供的框架基本上可以适应所有的应用场景,并且具有可扩展性,在各种新的业务需求情况下都能够进行灵活的扩展。
以下是一个示例:
/** * 获取热门排行商品列表 * * @param size 列表长度 * @param category 商品分类 * @return 商品列表 */ public List getHotProductList(int size, Category category) { List list = new ArrayList(); String sql = "Select * from t_product where category_id = ? order by sales_volume desc,id desc limit 0,?"; List<Map> result = baseRepository.queryForList(sql, category.getId(), size); for (Map map : result) { list.add(handler(map)); } return list; }
通过这个接口,可以轻松地获取到热门商品列表。随着业务发展,可能需要新增其他商品排行规则,则只需要在原代码基础上进行简单的修改即可满足新的业务需求。
三、提供丰富的扩展支持
BaseService提供了大量的扩展支持,其中主要包括:
1、缓存
BaseService默认支持Redis和Memcached两个主流缓存方案,可以方便的将数据放入缓存中,从而提高系统的运行效率和性能。
2、数据库持久化
BaseService支持所有主流的关系型数据库,同时也支持一些非关系型数据库的常用操作和特性,如MongoDB等。
3、Web MVC支持
BaseService支持整合常用Web MVC框架,例如Spring MVC等,可以根据业务需要方便地进行选择。
以下是一个示例:
/** * 获取热门排行商品列表 * @param size 列表长度 * @param category 商品分类 * @param request HTTP请求 * @return 商品列表 */ public List getHotProductList(int size, Category category, HttpServletRequest request) { List list = new ArrayList(); String sql = "Select * from t_product where category_id = ? order by sales_volume desc,id desc limit 0,?"; List<Map> result = baseRepository.queryForList(sql, category.getId(), size); for (Map map : result) { list.add(handler(map)); } // 添加缓存支持 if (useCache) { String key = "getHotProductList_" + category.getId(); Object cache = cacheService.getCache(key); if (cache != null) { return (List) cache; } else { cacheService.putCache(key, list); } } // 添加Web MVC支持 request.setAttribute("hotProductList", list); return list; }
通过以上示例,可以清楚地看到,BaseService提供了丰富的扩展支持,可以使业务人员快速构建出符合自身需求的应用系统。
四、提供良好的兼容性和易维护性
BaseService提供了良好的兼容性和易维护性,可以在各种语言和操作系统上快速部署和运行,同时对系统进行维护也变得非常简单。
以下是一个示例:
/** * 获取热门排行商品列表 * * @param size 列表长度 * @param category 商品分类 * @return 商品列表 */ public List getHotProductList(int size, Category category) { List list = new ArrayList(); String sql = "Select * from t_product where category_id = ? order by sales_volume desc,id desc limit 0,?"; List<Map> result = baseRepository.queryForList(sql, category.getId(), size); for (Map map : result) { list.add(handler(map)); } return list; }
通过以上示例,可以看到,BaseService所提供的接口代码清新简洁、易于理解,符合各种开发人员的编码习惯,在进行维护和升级时非常方便。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/190268.html