Hexagonal pattern: More descriptive class names

This commit is contained in:
Ilkka Seppälä
2016-09-09 21:36:17 +03:00
parent 1b10ddbb73
commit 0f2807b9cf
13 changed files with 188 additions and 240 deletions

View File

@ -29,7 +29,7 @@ import java.util.Random;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.iluwatar.hexagonal.administration.LotteryAdministration;
import com.iluwatar.hexagonal.banking.WireTransfersImpl;
import com.iluwatar.hexagonal.banking.InMemoryBank;
import com.iluwatar.hexagonal.domain.LotteryConstants;
import com.iluwatar.hexagonal.domain.LotteryNumbers;
import com.iluwatar.hexagonal.domain.LotteryTicket;
@ -112,7 +112,7 @@ public class App {
PLAYERS.add(PlayerDetails.create("ron@google.com", "637-738", "+09842354"));
PLAYERS.add(PlayerDetails.create("xavier@google.com", "143-947", "+375245"));
PLAYERS.add(PlayerDetails.create("harriet@google.com", "842-404", "+131243252"));
WireTransfersImpl wireTransfers = new WireTransfersImpl();
InMemoryBank wireTransfers = new InMemoryBank();
Random random = new Random();
for (int i = 0; i < PLAYERS.size(); i++) {
wireTransfers.setFunds(PLAYERS.get(i).getBankAccount(),

View File

@ -24,17 +24,17 @@ package com.iluwatar.hexagonal;
import com.google.inject.AbstractModule;
import com.iluwatar.hexagonal.administration.LotteryAdministration;
import com.iluwatar.hexagonal.administration.LotteryAdministrationImpl;
import com.iluwatar.hexagonal.administration.ConsoleAdministration;
import com.iluwatar.hexagonal.banking.InMemoryBank;
import com.iluwatar.hexagonal.banking.WireTransfers;
import com.iluwatar.hexagonal.banking.WireTransfersImpl;
import com.iluwatar.hexagonal.database.LotteryTicketInMemoryRepository;
import com.iluwatar.hexagonal.database.InMemoryTicketRepository;
import com.iluwatar.hexagonal.database.LotteryTicketRepository;
import com.iluwatar.hexagonal.domain.LotterySystem;
import com.iluwatar.hexagonal.domain.LotterySystemImpl;
import com.iluwatar.hexagonal.notifications.LotteryNotifications;
import com.iluwatar.hexagonal.notifications.LotteryNotificationsImpl;
import com.iluwatar.hexagonal.notifications.StdOutNotifications;
import com.iluwatar.hexagonal.service.ConsoleService;
import com.iluwatar.hexagonal.service.LotteryService;
import com.iluwatar.hexagonal.service.LotteryServiceImpl;
/**
* Guice module for binding production dependencies
@ -42,11 +42,11 @@ import com.iluwatar.hexagonal.service.LotteryServiceImpl;
public class LotteryModule extends AbstractModule {
@Override
protected void configure() {
bind(LotteryTicketRepository.class).to(LotteryTicketInMemoryRepository.class);
bind(LotteryTicketRepository.class).to(InMemoryTicketRepository.class);
bind(LotterySystem.class).to(LotterySystemImpl.class);
bind(LotteryNotifications.class).to(LotteryNotificationsImpl.class);
bind(WireTransfers.class).to(WireTransfersImpl.class);
bind(LotteryAdministration.class).to(LotteryAdministrationImpl.class);
bind(LotteryService.class).to(LotteryServiceImpl.class);
bind(LotteryNotifications.class).to(StdOutNotifications.class);
bind(WireTransfers.class).to(InMemoryBank.class);
bind(LotteryAdministration.class).to(ConsoleAdministration.class);
bind(LotteryService.class).to(ConsoleService.class);
}
}

View File

@ -35,12 +35,12 @@ import java.util.Map;
* Lottery administration implementation
*
*/
public class LotteryAdministrationImpl implements LotteryAdministration {
public class ConsoleAdministration implements LotteryAdministration {
private final LotterySystem lotterySystem;
@Inject
public LotteryAdministrationImpl(LotterySystem lotterySystem) {
public ConsoleAdministration(LotterySystem lotterySystem) {
this.lotterySystem = lotterySystem;
}

View File

@ -32,7 +32,7 @@ import com.iluwatar.hexagonal.domain.LotteryConstants;
* Banking implementation
*
*/
public class WireTransfersImpl implements WireTransfers {
public class InMemoryBank implements WireTransfers {
private static Map<String, Integer> accounts = new HashMap<>();

View File

@ -34,7 +34,7 @@ import com.iluwatar.hexagonal.domain.LotteryTicketId;
* Mock database for lottery tickets.
*
*/
public class LotteryTicketInMemoryRepository implements LotteryTicketRepository {
public class InMemoryTicketRepository implements LotteryTicketRepository {
private static Map<LotteryTicketId, LotteryTicket> tickets = new HashMap<>();

View File

@ -24,7 +24,7 @@ package com.iluwatar.hexagonal.notifications;
import com.iluwatar.hexagonal.domain.PlayerDetails;
public class LotteryNotificationsImpl implements LotteryNotifications {
public class StdOutNotifications implements LotteryNotifications {
@Override
public void notifyTicketSubmitted(PlayerDetails details) {

View File

@ -36,7 +36,7 @@ import java.util.Optional;
* Implementation for lottery service
*
*/
public class LotteryServiceImpl implements LotteryService {
public class ConsoleService implements LotteryService {
private final LotterySystem lotterySystem;
@ -44,7 +44,7 @@ public class LotteryServiceImpl implements LotteryService {
* Constructor
*/
@Inject
public LotteryServiceImpl(LotterySystem lotterySystem) {
public ConsoleService(LotterySystem lotterySystem) {
this.lotterySystem = lotterySystem;
}