Manager.cs 875 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. namespace BridgePattern
  3. {
  4. public abstract class Manager
  5. {
  6. protected Project CurrentProject { get; }
  7. protected Manager(Project currentProject)
  8. {
  9. CurrentProject = currentProject;
  10. }
  11. public virtual void ManageProject()
  12. {
  13. CurrentProject.MakePlan();
  14. CurrentProject.ScheduleTask();
  15. CurrentProject.ControlProcess();
  16. }
  17. }
  18. public class ProjectManager : Manager
  19. {
  20. public ProjectManager(Project currentProject) : base(currentProject)
  21. {
  22. }
  23. public override void ManageProject()
  24. {
  25. Console.WriteLine($"负责[{base.CurrentProject.ProjectName}]开发:");
  26. base.ManageProject();
  27. Console.WriteLine($"[{base.CurrentProject.ProjectName}] 开发完成。");
  28. }
  29. }
  30. }