Articles → .NET DESIGN PATTERN → Interface Segregation Principal C#
Interface Segregation Principal C#
Scenario
- Children
- Serviceman
- Businessman
- Old age people
public interface IInsurance {
void CarInsurance();
void MedicalInsurance();
void TermInsurance();
}
public class Children: IInsurance {
public void CarInsurance() {
throw new NotImplementedException();
}
public void MedicalInsurance() {
throw new NotImplementedException();
}
public void TermInsurance() {
throw new NotImplementedException();
}
}
public class ServiceMan: IInsurance {
public void CarInsurance() {
throw new NotImplementedException();
}
public void MedicalInsurance() {
throw new NotImplementedException();
}
public void TermInsurance() {
throw new NotImplementedException();
}
}
public class BusinessMan: IInsurance {
public void CarInsurance() {
throw new NotImplementedException();
}
public void MedicalInsurance() {
throw new NotImplementedException();
}
public void TermInsurance() {
throw new NotImplementedException();
}
}
public class OldAge: IInsurance {
public void CarInsurance() {
throw new NotImplementedException();
}
public void MedicalInsurance() {
throw new NotImplementedException();
}
public void TermInsurance() {
throw new NotImplementedException();
}
}
- Car insurance is not relevant for children.
- There is no term insurance for elderly people because, according to the insurance company, the maximum age should be 40.
- The CarInsurance method is not relevant for the Children's class.
- The TermInsurance method is not relevant for the Old Age class.
Interface Segregation Principle For Rescue
public interface ICarInsurance {
void CarInsurance();
}
public interface IMedicalInsurance {
void MedicalInsurance();
}
public interface ITermInsurance {
void TermInsurance();
}
public class Children: IMedicalInsurance {
public void MedicalInsurance() {
throw new NotImplementedException();
}
}
public class ServiceMan: ICarInsurance,
ITermInsurance {
public void CarInsurance() {
throw new NotImplementedException();
}
public void TermInsurance() {
throw new NotImplementedException();
}
}
public class BusinessMan: ICarInsurance,
IMedicalInsurance,
ITermInsurance {
public void CarInsurance() {
throw new NotImplementedException();
}
public void MedicalInsurance() {
throw new NotImplementedException();
}
public void TermInsurance() {
throw new NotImplementedException();
}
}
public class OldAge: ICarInsurance {
public void CarInsurance() {
throw new NotImplementedException();
}
}
Posted By - | Karan Gupta |
|
Posted On - | Thursday, June 4, 2015 |