今天在项目里看到一个地方用的是抽象工厂模式
SecurityManagerFactory factory = SecurityManagerFactory.getInstance(SecurityManagerFactory.DS_TYPE_DBMS,
SecurityManagerFactory.PERM_POLICY_STANDARD);
DutyManager dm = factory.getDutyManager();
GroupManager gm = factory.getGroupManager();
简单来说第一句话通过数据库类型作为参数决定了获取的工厂实例的类型。后面是根据工厂获取具体的产品。
也就是说不同的工厂生产了不同系列的产品,每个工厂又都生产相同几个类别的产品。
举个例子 塑料玩具厂生产塑料系列的 刀,枪 木质玩具厂生产木头系列的 刀,枪