-
Notifications
You must be signed in to change notification settings - Fork 151
Expand file tree
/
Copy pathMain.java
More file actions
27 lines (22 loc) · 1.2 KB
/
Main.java
File metadata and controls
27 lines (22 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package calcproject;
import calcproject.di.container.CalcManagerDependencyInjectionContainer;
import calcproject.engine.CalcExpressionTokenizer;
import calcproject.engine.Calculator;
import calcproject.factory.CalcManagerViewFactory;
import calcproject.factory.CalcResultRecordRepositoryFactory;
import calcproject.factory.ConsoleViewCalcManagerViewFactory;
import calcproject.factory.InMemoryCalcResultRecordRepositoryFacotry;
import calcproject.service.CalcManager;
public class Main {
public static void main(String[] args) {
CalcExpressionTokenizer calcExpressionTokenizer = new CalcExpressionTokenizer();
Calculator calculator = new Calculator(calcExpressionTokenizer);
CalcManagerViewFactory calcManagerViewFactory = new ConsoleViewCalcManagerViewFactory();
CalcResultRecordRepositoryFactory calcResultRecordRepositoryFactory = new InMemoryCalcResultRecordRepositoryFacotry();
CalcManagerDependencyInjectionContainer calcManagerDependencyInjectionContainer =
new CalcManagerDependencyInjectionContainer(calcResultRecordRepositoryFactory, calcManagerViewFactory,
calculator);
CalcManager calcManager = calcManagerDependencyInjectionContainer.createCalcManager();
calcManager.startCalcManager();
}
}