Newer
Older
DesignCraft / src / main / java / designPatternExtensions / designPattern / Flyweight.java
@c-okada c-okada 6 hours ago 1 KB デザインパターン再現
package designPatternExtensions.designPattern;

import designPatternExtensions.DependencyInversion;
import designPatternExtensions.InterfaceNode;
import designPatternExtensions.MediatorInsertion;
import designPatternExtensions.ModelLoader;
import models.deltaAlgebra.ObjectNode;
import models.objectOrientedTransfer.DataTransferContext;
import models.objectOrientedTransfer.DataTransferDesign;
import models.objectOrientedTransfer.IllegalRelationException;

//https://github.com/iluwatar/java-design-patterns/tree/master/facade


public class Flyweight implements DesignPattern {

    public DataTransferDesign create() throws IllegalRelationException {
        DataTransferDesign design = ModelLoader.load("models/designPattern/"+this.getClass().getSimpleName()+".Json");
        DataTransferContext dtc = design.getTransferContexts().getLast();
//        ObjectNode potion = (ObjectNode) dtc.getSrcResource().getEdge(0).getDestination();
//        ObjectNode alchemistShop = dtc.getDstFirstResource();
//
//        ObjectNode potionFactory = new ObjectNode("PotionFactory");
//        MediatorInsertion mi = new MediatorInsertion(potion, alchemistShop, potionFactory, dtc.getTransferStyle());
//        design.addMediatorInsertion(mi);

        return design;
    }
}

//public class Flyweight implements DesignPattern {
//
//    public DataTransferDesign create() throws IllegalRelationException {
//        DataTransferDesign design = ModelLoader.load("models/designPattern/"+this.getClass().getSimpleName()+".Json");
//        DataTransferContext dtc = design.getTransferContexts().getLast();
//        ObjectNode potion = (ObjectNode) dtc.getSrcResource().getEdge(0).getDestination();
//        ObjectNode alchemistShop = dtc.getDstFirstResource();
//
//        ObjectNode potionFactory = new ObjectNode("PotionFactory");
//        MediatorInsertion mi = new MediatorInsertion(potion, alchemistShop, potionFactory, dtc.getTransferStyle());
//        design.addMediatorInsertion(mi);
//
//        return design;
//    }
//}