static void Main(string[] args) { TempBar tempBar = new TempBar(); FEditBox fEditBox = new FEditBox(tempBar, 0); CEditBox cEditBox = new CEditBox(tempBar, 0); fEditBox.setcEditBox(cEditBox); // cEditBox.setfEditBox(fEditBox); // Circular Dependency FRaiseButton fRaiseButton = new FRaiseButton(fEditBox, cEditBox, tempBar); FLowerButton fLowerButton = new FLowerButton(fEditBox, cEditBox, tempBar); fEditBox.change(30); cEditBox.change(43); fRaiseButton.onClick(); fLowerButton.onClick(); }
static void Main(string[] args) { TempDialogMediator mediator = new TempDialogMediator(); TempBar tempBar = new TempBar(); IEditBox fEditBox = new FEditBox(mediator, 0); IEditBox cEditBox = new CEditBox(mediator, 0); IButton frButton = new FRaiseButton(mediator); IButton flButton = new FLowerButton(mediator); IButton crButton = new CRaiseButton(mediator); IButton clButton = new CLowerButton(mediator); mediator.setcEditBox(cEditBox); mediator.setClButton(clButton); mediator.setCrButton(crButton); mediator.setfEditBox(fEditBox); mediator.setFlButton(flButton); mediator.setFrButton(frButton); mediator.setTempBar(tempBar); fEditBox.change(30); cEditBox.change(43); frButton.onClick(); flButton.onClick(); }