首页 > 代码库 > oop的编程
oop的编程
oop的编程
我们来看一段代码的优化,来逐步的体会一下;
public enum ScheduleType { Once=0, Daily=1, Weekly=2 } //这种方式,我们可以使用多种方式来进行优化滴呀; //简单的swich case 方式滴啊; //然后就是我们的 委托的方式滴呀 //还有我们的 就是我们的重载的方式滴啊 //多种多样的方式和写法滴啊; public class TaskInfo { public void ShowScheduleDescription(ScheduleType type) { //这种将判断的逻辑写在了我们的函数内部滴呀; //这种方式将功能的实现(业务逻辑混合在一起了滴呀)和方法的定义 switch (type) { case ScheduleType.Once: Console.WriteLine("this is once activitys"); break; case ScheduleType.Daily: Console.WriteLine("this is week activitys"); break; case ScheduleType.Weekly: Console.WriteLine("this si weekly activitys"); break; default: throw new InvalidOperationException("unsupported sceduled..."); } } }
接下来我们做到了“看似分离的一个状态滴呀”,注意,我这里强调的是看似;
public class TaskInfo2 { public void ShowScheduleDescription(ScheduleType type) { ScheduleActivity s = new ScheduleActivity(); switch (type) { case ScheduleType.Once: s.Once("this is once"); break; case ScheduleType.Daily: s.Daily("this is dail"); break; case ScheduleType.Weekly: s.Weekly("this is weekly"); break; default: throw new InvalidOperationException("unsupported sceduled..."); } } } //这样就将我们的方法定义和我们的具体实现给分离的滴呀; public class ScheduleActivity //动态的扩展就可以在我们的这里进行了滴啊; { public void Once(string Str) { Console.WriteLine(Str); } public void Daily(string Str) { Console.WriteLine(Str); } public void Weekly(string Str) { Console.WriteLine(Str); } }
然后,我们通过委托将将具体的实现进行分离;
从上面的代码中,我们看到,将具体的实现进行的分离,但是,你会发现如果要进行扩展,我们不仅要在ScheduleActivity中添加代码,还要在ShowScheduleDescription中的
switch中进行变动;所以,并不是那么的完美,那么我们再进一步的进行优化;
oop的编程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。