Question: Below are some Java classes that are tightly coupled. Rewrite them in another way so that you: - decouple the customer repository from any external

Below are some Java classes that are tightly coupled.

Rewrite them in another way so that you:

- decouple the customer repository from any external dependency

- be able to change the logger at runtime

class CustomerRepository { private Database database; private Logger logger; public CustomerRepository(Database database) { this.database = database; this.logger = new Logger(); } public void Add(String CustomerName) { database.AddRow("Customer", CustomerName); } } class Database { public void AddRow(String Table, String Value) { //connect to DB and insert row } } class Logger { private FileWriter fileWriter; public Logger(){ //initiate fileWriter } public void Log(String logType, String message) { try { fileWriter.write(logType + ": " + message); } catch (IOException e) { e.printStackTrace(); } } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!