读书人

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

发布时间: 2012-07-19 16:02:20 作者: rapoo

两段代码,求重构方案,耦合度到最低!
代码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就可以了

读书人网 >J2EE开发

热点推荐