Skip to main content

Posts

Showing posts with the label programming

Fixing Multiple Switch Case Problem in C#

 I n this Chapter we will see how we can fix growing switch case which cause code maintainability issue In our development projects we may have below situation where switch cases increase with time and getting difficult to maintain Let’s understand problem using System; class Program { static void ProcessOrder ( string orderType ) { switch (orderType) { case "NEW_ORDER" : Console.WriteLine( "Processing new order." ); // New order logic here break ; case "CANCEL_ORDER" : Console.WriteLine( "Cancelling order." ); // Cancel order logic here break ; case "SHIPPING" : Console.WriteLine( "Shipping order." ); // Shipping logic here break ; case "DELIVERED" : Console.WriteLine( "Ord...

Fixing Multiple If-Else problem with Chain of Responsibility Pattern

  Situation will become unmanageable if we have lot of if else condition in our code, Lets understand problem and then we will see it’s Solution. Problem with Multiple If Conditions Using multiple if-else conditions to handle different cases can lead to code that is hard to read, maintain, and extend. Here’s a simple example using multiple if conditions in a leave management system. We will implement below Business Logic for Leave management system a. IF Leave < = 3, then Team Lead will approve b. IF Leave < =5, then Project Manager will approve c. IF Leave > 5, then HR Manager will approve Request first go to team lead to check if Request can be handled by  Team lead  else it will go to  Project Manager  else request will go to  HR manager Example with Multiple If Conditions public class LeaveRequest { public string EmployeeName { get ; set ; } public int NumberOfDays { get ; set ; } public string Reason { get ; set ; } } publi...