Newer
Older
DesignCraft / src / main / java / designPatternExtensions / designPattern / Builder.java
package designPatternExtensions.designPattern;

import designPatternExtensions.MediatorInsertion;
import models.objectOrientedTransfer.*;
import designPatternExtensions.ModelLoader;

import java.util.ArrayList;

//メモ
//https://github.com/iluwatar/java-design-patterns/tree/master/builder
//staticがないとnew Hero().new Builder(...)のような形になり、Builderとして成立しない
//なんならメソッドチェーンもない
//Mainが仲介者になり、制御の委譲を用いる必要がある

public class Builder implements DesignPattern {

    public DataTransferDesign create() throws IllegalRelationException {
        DataTransferDesign design = ModelLoader.load("models/designPattern/Builder.Json");
        ObjectNode builder = design.getTransferContexts().getFirst().getSrcFirstResource();
        ObjectNode main = design.getTransferContexts().getFirst().getDstFirstResource();
//
//        MediatorInsertion mi = new MediatorInsertion(main, builder, new ObjectNode("Hero"));
//        design.addMediatorInsertion(mi);

        return design;
    }
}