一、提供简单、易用的接口
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
微信扫一扫
支付宝扫一扫