外观模式
外观模式提供了一个统一的接口,用来访问子系统中的一群接口
客户端可以直接通过外观类来调用内部子系统中方法,从而外观模式让客户和子系统之间避免了紧耦合。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。代码来了:
#region 子系统 // 子系统 public class RegisterCourse { public bool CheckAvailable(string courseName) { Console.WriteLine("正在验证课程 {0}是否人数已满", courseName); return true; } } // 子系统 public class NotifyStudent { public bool Notify(string studentName) { Console.WriteLine("正在向{0}发生通知", studentName); return true; } } #endregion
// 外观类 public class RegistrationFacade { private RegisterCourse registerCourse; private NotifyStudent notifyStu; public RegistrationFacade() { registerCourse = new RegisterCourse(); notifyStu = new NotifyStudent(); } public bool RegisterCourse(string courseName, string studentName) { if (!registerCourse.CheckAvailable(courseName)) { return false; } return notifyStu.Notify(studentName); } }
//使用
private static RegistrationFacade facade = new RegistrationFacade(); static void Main(string[] args) { if (facade.RegisterCourse("设计模式", "Learning Hard")) { Console.WriteLine("选课成功"); } else { Console.WriteLine("选课失败"); } Console.Read(); }

更多精彩