diff --git a/src/main/java/designPatternExtensions/Adapter.java b/src/main/java/designPatternExtensions/Adapter.java index fe83a8c..85110ed 100644 --- a/src/main/java/designPatternExtensions/Adapter.java +++ b/src/main/java/designPatternExtensions/Adapter.java @@ -2,27 +2,15 @@ import models.objectOrientedTransfer.*; -import java.util.ArrayList; -import java.util.List; - public class Adapter { public static DataTransferDesign create() throws IllegalRelationException { - ObjectNode main = new ObjectNode("Main"); ObjectNode fishingBoat = new ObjectNode("FishingBoat"); ObjectNode captain = new ObjectNode("Captain"); ObjectNode data = new ObjectNode("String"); - List srcEdges = new ArrayList<>(); - List dstEdges = new ArrayList<>(); - ReferenceEdge srcEdge = new ReferenceEdge(main, fishingBoat, "fishingBoat", "String"); - ReferenceEdge dstEdge = new ReferenceEdge(main, captain, "captain", "String"); - srcEdges.add(srcEdge); - dstEdges.add(dstEdge); - - List relations = new ArrayList<>(); - Relation transferRelation = new Relation(srcEdges, dstEdges, MultiplicityValue.OneToOne); - DataTransferContext context = new DataTransferContext(relations, transferRelation, data, "data", PushPullValue.PULL); + Relation transferRelation = new Relation(fishingBoat, captain, MultiplicityValue.OneToOne); + DataTransferContext context = new DataTransferContext(new java.util.ArrayList<>(), transferRelation, data, "data", PushPullValue.PULL); DataTransferDesign design = new DataTransferDesign(context); diff --git a/src/main/java/designPatternExtensions/Observer.java b/src/main/java/designPatternExtensions/Observer.java index d1c1f1b..31595c2 100644 --- a/src/main/java/designPatternExtensions/Observer.java +++ b/src/main/java/designPatternExtensions/Observer.java @@ -1,45 +1,29 @@ package designPatternExtensions; - import models.objectOrientedTransfer.*; - import java.util.ArrayList; -import java.util.List; + +//メモ +//依存性の逆転構造は再現できているが、OneToManyが使えないから再現できない? +// SubjectがObserverを記憶し(ManyToOne?PULL?)→DesignCraftが最初に登録してるものとする +// Clientから更新されたときに、Observerに通知する(OneToMany?PUSH?)→これが正解 +// public class Observer { - public static DataTransferDesign create() throws IllegalRelationException { - ObjectNode main = new ObjectNode("Main"); - ObjectNode weather = new ObjectNode("Weather"); - ObjectNode orcs = new ObjectNode("Orcs"); - ObjectNode hobbits = new ObjectNode("Hobbits"); - ObjectNode data = new ObjectNode("WeatherType"); + ObjectNode weather = new ObjectNode("Weather"); + ObjectNode orcs = new ObjectNode("Orcs"); + ObjectNode hobbits = new ObjectNode("Hobbits"); + ObjectNode data = new ObjectNode("WeatherType"); - List srcEdges = new ArrayList<>(); - ReferenceEdge srcEdge = new ReferenceEdge(main, weather, "weather", "WeatherType"); - srcEdges.add(srcEdge); - - List dstEdges = new ArrayList<>(); - ReferenceEdge dstEdge = new ReferenceEdge(main, orcs, "orcs", "WeatherType"); - dstEdges.add(dstEdge); - - List relations = new ArrayList<>(); - Relation transferRelation = new Relation(srcEdges, dstEdges, MultiplicityValue.ManyToOne); + Relation transferRelation = new Relation(weather, orcs, MultiplicityValue.OneToOne); DataTransferContext context = new DataTransferContext( - relations, transferRelation, data, "currentWeather", PushPullValue.PUSH + new ArrayList<>(), transferRelation, data, "currentWeather", PushPullValue.PUSH ); DataTransferDesign design = new DataTransferDesign(context); - DependencyInversion di1 = new DependencyInversion( - orcs, - new InterfaceNode(orcs, "WeatherObserver"), - weather - ); - DependencyInversion di2 = new DependencyInversion( - hobbits, - new InterfaceNode(hobbits, "WeatherObserver"), - weather - ); + DependencyInversion di1 = new DependencyInversion(orcs, new InterfaceNode(orcs, "WeatherObserver"), weather); + DependencyInversion di2 = new DependencyInversion(hobbits, new InterfaceNode(hobbits, "WeatherObserver"), weather); design.addDependencyInversion(di1); design.addDependencyInversion(di2);