static void Main(string[] args) { #region Lab_1 var customerObesrver = new CustomerObserver(); var employeeObserver = new EmployeeObserver(); ProductSubject productSubject = new ProductSubject(); productSubject.Attached(customerObesrver); productSubject.Attached(employeeObserver); productSubject.Update(); #endregion Console.WriteLine("\n"); #region Lab_2 ConcreteProduct concreteProduct = new ConcreteProduct("HP Laptop", 12); concreteProduct.members.Add(new ConcreteMember { EmailAddress = "*****@*****.**" }); concreteProduct.members.Add(new ConcreteMember { EmailAddress = "*****@*****.**" }); concreteProduct.Price = 15; #endregion Console.ReadKey(); }
public async Task <IActionResult> Index() { try { ProductSubject subject = new ProductSubject(); IObserver observer1 = new Observer("observer1"); subject.Register(observer1); IObserver observer2 = new Observer("observer2"); subject.Register(observer2); //subject.ProductCount++; //Product is added to the inventory and it will notified to all subscribers IObserver observer3 = new Observer("observer3"); subject.Register(observer3); subject.Unregister(observer1); subject.ProductCount++; var observers = subject.GetObservers(); return(View(observers)); } catch (Exception ex) { _logger.LogError($"Internal Server Error during implementation of Solid principle and Observer pattern : {ex}"); return(StatusCode(StatusCodes.Status500InternalServerError, "Internal server Error")); } }