设计模式连载:第一篇转职系统模式
2016-05-31 19:20
239 查看
//注意 以下代码均是讲解的最终版本,详细讲解内容,请关注直播
//我们写代码 要满足 1.低耦合 2.稳定性 3.可重用 4.可拓展
// 我们用一个案例来讲述一下 什么是简单工厂模式
// 游戏中的转职系统----------------主要学习的是 简单工厂模式的 思想(Thinking)
// 现在我们需要 1 新手类 2 战士类 3 法师类 4 弓箭手类
/// 5 转职系统(设计模式的工厂) 6.测试类
//新手类
public class jackaroo
{
public virtual void show_job_name(){ }
}
//战士类
public class warrior:jackaroo
{
public override void show_job_name()
{
Console.WriteLine("转职成功,成为战士");
}
}
//法师类 //LOOK ----》通过转职系统这个案例,我们学习的是 简单工厂模式的 思想(Thinking),而不是代码
public class rabbi : jackaroo
{
public override void show_job_name()
{
Console.WriteLine("转职成功,成为法师");
}
}
//弓箭手类 //LOOK ----》通过转职系统这个案例,我们学习的是 简单工厂模式的 思想(Thinking),而不是代码
public class bowman : jackaroo
{
public override void show_job_name()
{
Console.WriteLine("转职成功,成为弓箭手");
}
}
//简单工厂模式的 工厂类方法,根据转职成什么职业,来实例化谁的对象
public class job_factory{
jackaroo jc;
//工厂方法;
public jackaroo job_change_factory_function(string s){
switch (s) {
case "战士":
jc = new warrior(); break;
case "法师":
jc = new rabbi(); break;
case "弓箭手":
jc = new bowman(); break;
}
return jc;
}
}
//简单工厂模式思想 工厂,这里是转职系统类,抽象产品,这里是新手类,具体产品,这里是战法弓三种职业类,学习的是Thinking噢~~!!!
//测试类
class Program {
static void Main(string[] args){
//测试一下 我们的 简单工厂模式,是否写好了
//工厂类的变量
job_factory job_factory_g = new job_factory();
jackaroo jc=job_factory_g.job_change_factory_function("法师");
jc.show_job_name();
//每种设计模式,都有利弊,各位权衡其中,然后决定什么时候用什么模式
//简单工厂模式 设计到的 知识点 1 继承,先讲解一下继承
//面向对象 要知道 三个特性 1. 封装 2 继承 3 多态
// 什么是继承
//比如我们有 两个类, 一个类叫father(作为基类) 另一个类叫 son(子类)
// 子类继承基类后, 子类拥有基类的属性和方法,子类还可以拥有自己的新属性和方法
//基类用virtual写的方法,子类可以用override重写
//使用base访问基类的方法和属性
//慎用继承,因为继承,虽然是面向对象的三大基石之一, 但是 滥用继承 会破坏其封装性
}
}
}
相关文章推荐
- PropertyChangeListener简单理解
- 什么是设计模式
- 设计模式之创建型模式 - 特别的变量问题
- 七、设计模式——装饰模式
- 设计模式总结
- 设计模式之创建型模式
- 浅谈设计模式的学习
- Ruby设计模式编程之适配器模式实战攻略
- 实例讲解Ruby使用设计模式中的装饰器模式的方法
- 设计模式中的模板方法模式在Ruby中的应用实例两则
- Ruby设计模式编程中对外观模式的应用实例分析
- 实例解析Ruby设计模式编程中Strategy策略模式的使用
- Ruby中使用设计模式中的简单工厂模式和工厂方法模式
- Ruby使用设计模式中的代理模式与装饰模式的代码实例
- 详解组合模式的结构及其在Ruby设计模式编程中的运用
- C#编程中使用设计模式中的原型模式的实例讲解
- 使用设计模式中的工厂方法模式进行C#编程的示例讲解
- 实例解析C#设计模式编程中简单工厂模式的使用
- 详解C#设计模式编程中生成器模式的使用
- 深入解析C#设计模式编程中对建造者模式的运用