33import io .github .gunkim .banking .application .AccountTransactionManager ;
44import io .github .gunkim .banking .data .InMemoryAccountRepository ;
55import io .github .gunkim .banking .data .InMemoryTransactionRepository ;
6- import io .github .gunkim .banking .domain .*;
6+ import io .github .gunkim .banking .domain .Account ;
7+ import io .github .gunkim .banking .domain .AccountId ;
8+ import io .github .gunkim .banking .domain .Money ;
9+ import io .github .gunkim .banking .domain .Transaction ;
710
811import java .time .format .DateTimeFormatter ;
912import java .util .List ;
@@ -12,19 +15,23 @@ public class BankingApplication {
1215 private static final AccountId FIXED_MY_ACCOUNT_ID = AccountId .createRandom ();
1316 private static final String TRANSACTION_VIEW_FORMAT = "%-20s %-15s %-15s\n " ;
1417
15- public static void main (String [] args ) {
16- BankingApplication app = new BankingApplication ();
17- app .run ();
18+ private final AccountTransactionManager accountTransactionManager ;
19+
20+ public BankingApplication (AccountTransactionManager accountTransactionManager ) {
21+ this .accountTransactionManager = accountTransactionManager ;
1822 }
1923
20- public void run () {
21- AccountRepository accountRepository = new InMemoryAccountRepository ();
24+ public static void main (String [] args ) {
25+ var accountRepository = new InMemoryAccountRepository ();
26+ var transactionRepository = new InMemoryTransactionRepository ();
2227 accountRepository .save (Account .zero (FIXED_MY_ACCOUNT_ID ));
2328
24- TransactionRepository transactionRepository = new InMemoryTransactionRepository ();
25-
2629 var accountTransactionManager = new AccountTransactionManager (accountRepository , transactionRepository );
30+ var app = new BankingApplication (accountTransactionManager );
31+ app .run ();
32+ }
2733
34+ public void run () {
2835 runTransactions (accountTransactionManager );
2936 printTransactions (accountTransactionManager .findAll (FIXED_MY_ACCOUNT_ID ));
3037 }
0 commit comments