package jdepend.knowledge.pattern.impl2.feature; import jdepend.knowledge.pattern.impl2.AbstractFeature; import jdepend.knowledge.pattern.impl2.FeatureCheckContext; import jdepend.model.util.JavaClassUnitUtil; public class FacadeFeature extends AbstractFeature { @Override protected boolean have(FeatureCheckContext context) { Float extCaCallScale; Float innerCellScale; int innerCellCount; if (context.getCurrent().getCaList().size() > 0) { extCaCallScale = context.getResult().getTheClass(context.getCurrent().getId()).getAfferents().size() / context.getCurrent().getCaList().size() * 1F; if (extCaCallScale >= 0.9) { if (context.getCurrent().getCeList().size() > 0) { innerCellCount = context.getCurrent().getCeList().size() - context.getResult().getTheClass(context.getCurrent().getId()).getEfferents().size(); innerCellScale = innerCellCount / context.getCurrent().getCeList().size() * 1F; if (innerCellScale >= 0.8) { return true; } } } } return false; } @Override public String getName() { return "被组件外的类调用的比例超过九成 调用的类是所属组件内的比较超过八成"; } }