当前位置: 代码迷 >> J2EE >> 两段代码,求复建方案,耦合度到最低
  详细解决方案

两段代码,求复建方案,耦合度到最低

热度:328   发布时间:2016-04-22 01:10:09.0
两段代码,求重构方案,耦合度到最低!
代码1:
Java code
    public PageBase getQueryListTemplate(String templateName, String creater, String startDate, String endDate,            String sortColumn, String dir, PageBase pageBase)            throws ExceptionWithKey    {        PageBase pb = queryTemplateDao.getQueryListTemplate(templateName, creater, startDate, endDate,                 sortColumn, dir, pageBase);        // 查询 Time Level、Stat.Object两个字段的数据        List<QueryTemplate> list = pb.getItems();        for (QueryTemplate queryTemplate : list)        {            QueryTemplateContent content = queryTemplateContentDao.get(queryTemplate.getId());            String moLevel = this.getMOLevelByID(content.getMoLevel(), false);            content.setMoLevel(moLevel);            String timeLevelName = this.getTimeLevelName(content.getTimeLevel());            content.setTimeLevel(timeLevelName);            queryTemplate.setQueryTemplateContent(content);        }        return pb;    }


代码2:
Java code
public PageBase getQueryTemplate(long templateType, String searchKey,            String sortColumn, String dir, PageBase pageBase)            throws ExceptionWithKey    {        PageBase pb = queryTemplateDao.getQueryTemplate(templateType,                searchKey, sortColumn, dir, pageBase);        // 查询 Time Level、Stat.Object两个字段的数据        List<QueryTemplate> list = pb.getItems();        for (QueryTemplate queryTemplate : list)        {            QueryTemplateContent content = queryTemplateContentDao                    .get(queryTemplate.getId());            String moLevel = this.getMOLevelByID(content.getMoLevel(), false);            content.setMoLevel(moLevel);            String timeLevelName = this.getTimeLevelName(content.getTimeLevel());            content.setTimeLevel(timeLevelName);            queryTemplate.setQueryTemplateContent(content);        }        return pb;    }


------解决方案--------------------
要降低神马跟神马的耦合?
看LZ的代码,既然是返回pb,那么遍历可以放在外面来做,既把List,for的部分写到一个方法,比如setContent方法,传入你的pb就可以了
  相关解决方案