Hexagonal Architecture in Java - incorporated feedback

This commit is contained in:
DESKTOP-MG5QNKB\harsha 2019-06-12 00:54:16 -04:00
parent 84bcc8115c
commit a51abbab58
6 changed files with 27 additions and 34 deletions

View File

@ -1,11 +1,10 @@
package com.baeldung.hexagon;
public class ConstantTaxRateRepository implements TaxRateRepository{
public class ConstantTaxRateRepository implements TaxRateRepository {
private static final double TAX_RATE = 0.13d;
private static final double TAX_RATE = 0.13d;
@Override
public double getRate() {
return TAX_RATE;
}
@Override
public double getRate() {
return TAX_RATE;
}
}

View File

@ -2,16 +2,15 @@ package com.baeldung.hexagon;
public class TaxCalculator implements TaxService {
private TaxRateRepository taxRateRepository;
private TaxRateRepository taxRateRepository;
public TaxCalculator(TaxRateRepository repository) {
super();
taxRateRepository = repository;
}
public TaxCalculator(TaxRateRepository repository) {
super();
taxRateRepository = repository;
}
@Override
public double calculateTax(Double amount) {
return amount * taxRateRepository.getRate();
}
@Override
public double calculateTax(double amount) {
return amount * taxRateRepository.getRate();
}
}

View File

@ -1,13 +1,11 @@
package com.baeldung.hexagon;
public class TaxFactory {
public static TaxService getTaxService() {
return new TaxCalculator(getTaxRepository());
}
public static TaxRateRepository getTaxRepository() {
return new ConstantTaxRateRepository();
}
public static TaxService getTaxService() {
return new TaxCalculator(getTaxRepository());
}
public static TaxRateRepository getTaxRepository() {
return new ConstantTaxRateRepository();
}
}

View File

@ -1,6 +1,5 @@
package com.baeldung.hexagon;
public interface TaxRateRepository {
public double getRate();
public double getRate();
}

View File

@ -1,7 +1,5 @@
package com.baeldung.hexagon;
public interface TaxService {
public double calculateTax(Double amount);
public double calculateTax(double amount);
}

View File

@ -2,8 +2,8 @@ package com.baeldung.hexagon;
public class TestTaxUser {
public double calculateTax(Double amount) {
return TaxFactory.getTaxService().calculateTax(amount);
}
public double calculateTax(Double amount) {
return TaxFactory.getTaxService()
.calculateTax(amount);
}
}