/*
Does this follow the Interface Segregation Principle? If no, how would you improve it?
*/
using System;
namespace SOLID.ISP
{
public interface IEmployee
void WorkOnTask();
void AssignWork();
}
public class Manager : IEmployee
public void WorkOnTask()
// Take decisions.
public void AssignWork()
// Assign work to employees.
public class Secretary : IEmployee
// Work on the task assigned by the manager.
throw new Exception("Cannot Assign Tasks");