| 12
 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
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 
 | class Developer {
 private String name;
 
 public Developer(String name) {
 this.name = name;
 }
 
 public void workOnTask(String task) {
 System.out.println(name + " is working on: " + task);
 }
 }
 
 
 class TeamLeader {
 private ITManager manager;
 
 public TeamLeader(ITManager manager) {
 this.manager = manager;
 }
 
 public void assignTaskToTeam(String task) {
 manager.assignTask(task);
 }
 }
 
 
 class ITManager {
 private List<Developer> developers;
 
 public ITManager() {
 this.developers = new ArrayList<>();
 }
 
 public void addDeveloper(Developer developer) {
 developers.add(developer);
 }
 
 public void assignTask(String task) {
 for (Developer developer : developers) {
 developer.workOnTask(task);
 }
 }
 }
 
 
 public class DemeterPrincipleExample {
 public static void main(String[] args) {
 
 Developer dev1 = new Developer("Alice");
 Developer dev2 = new Developer("Bob");
 
 
 ITManager manager = new ITManager();
 manager.addDeveloper(dev1);
 manager.addDeveloper(dev2);
 
 
 TeamLeader teamLeader = new TeamLeader(manager);
 teamLeader.assignTaskToTeam("Develop new feature");
 }
 }
 
 
 |