设计模式连载:第一篇转职系统模式

翻译 2016年05月31日 19:20:11
//注意 以下代码均是讲解的最终版本,详细讲解内容,请关注直播 


    //我们写代码  要满足   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访问基类的方法和属性
            //慎用继承,因为继承,虽然是面向对象的三大基石之一, 但是 滥用继承 会破坏其封装性
        }
    }
}

相关文章推荐

谈谈javascript中设计模式第一篇

最近看了一本《Javascript设计模式与开发实践》;这本书写的很不错,书中举的例子也很通俗易懂。一早就想抽点时间写写的从中的感悟,好像也拖了好久了,什么课程设计呀,考试啦。今天终于静下来了。 首先...

IOS设计模式第一篇之MVC

设计模式的好处:我们可以写出容易理解,重用度很高的代码。降低代码的耦合度,符合软件工程的思想。 设计模式主要分为三类:创造型的:单例和抽象工厂。结构类型的: MVC  Decorator,...

笑谈设计模式(第一篇)

都说软件世界是现实世界的抽象,现实世界的事物都可以用软件来反应。在软件世界中,有一套解决通用问题的方法,高大上的讲法是:设计模式。 说起设计模式,懂得软件的人,都会肃然起敬,因为它在这个行业一直是...

Android编程思想,面向对象程序设计第一篇——设计模式6个原则

做了几年的安卓,发现很多安卓从业者并不是计算机科班出身,很多都是转业或者在培训机构培训之后成为了一名安卓开发者。在接触了一些同行之后,发现比较多的初级开发者只对安卓API有一定的了解。但是对于整个项目...

Android Ap 开发 设计模式第一篇:迭代器模式

Iterator Pattern迭代器模式 场景猜想   经常编写代码都会碰到遍历一个数组,使用for循环得到数组下标之后去做进一步操作。例如下文代码:    int[] array=ne...

Android Ap 开发 设计模式第一篇:迭代器模式

看到这个android设计模式,不知道文章质量如何,先转载过来,至少因为题目 转载地址:http://www.cnblogs.com/TerryBlog/archive/2011/07/05/209...

第一篇 设计模式之简单工厂模式

欢迎转载http://blog.csdn.net/Passi_zxj/article/details/52751969简介 简单工厂模式又叫静态工厂方法(Static Factory Method)模...

设计模式:Web App 系统架构(二)

平凡定义具体的App通常有一个这样的开始 app.jsvar app = document.createElement('div');//创建App容器 document.body.appendCh...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)