 } 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 // Module 1 (Client) static void Main ( ) { var product = new Product ( "milk" ) ; var productManager = new ProductManager ( ) ; productManager . AddProduct ( product ) ; var consumer = new Consumer ( ) ; consumer . PurchaseProduct ( product . Name ) ; } // Module 2 (Business logic) public class ProductManager { private readonly FileLogger _logger = new FileLogger ( ) ; public void AddProduct ( Product product ) { // Add the product to the database. _logger . Log ( "The product is added." ) ; } } public class Consumer { private readonly FileLogger _logger = new FileLogger ( ) ; public void PurchaseProduct ( string product ) { // Purchase the product. _logger . Log ( "The product is purchased." ) ; } } public class Product { public string Name { get ; private set ; } public Product ( string name ) { Name = name ; } } // Module 3 (Logger implementation) public class F