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

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

设计模式--职责链模式精解

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。UML图很简单,主要是继承和聚合关系,下面以...
  • zhang_xinxiu
  • zhang_xinxiu
  • 2013年08月14日 19:44
  • 6565

Java设计模式之责任链模式、职责链模式

继续介绍23种设计模式系列,本文介绍的是职责链模式。
  • jason0539
  • jason0539
  • 2015年04月18日 07:41
  • 23716

[置顶] 国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已出版

国内首部Java多线程设计模式原创作品《Java多线程编程实战指南(设计模式篇)》已由电子工业出版社出版。本书从理论到实战,用生活化的实例和通俗易懂的语言全面介绍Java多线程编程的"三十六计"——多...
  • viscent_huang
  • viscent_huang
  • 2015年11月18日 11:21
  • 4333

谈谈javascript中设计模式第一篇

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

第一篇 理解PHP设计模式

ps:以下内容均为《PHP设计模式》的阅读笔记,只做了概括,想了解详情可以去查看此书。谢谢阅读哈。 一、OOP的思想 1、抽象类(abstract) (1)抽象指示一个对象的基本特征,使...
  • qq_31159377
  • qq_31159377
  • 2017年10月31日 21:28
  • 37

java设计模式个人总结(第一篇)

java设计模式可将其分为三种类型:创建型、结构型、行为型。 创建型有:    工厂模式(Factory)单例模式(singleton)Builder模式(生成器模式)原型模式(Prototype...
  • ruizhenggang
  • ruizhenggang
  • 2017年11月30日 22:20
  • 20

表现与数据分离第一篇:mvc设计模式实现pdf数据流弹窗预览

吼吼吼: 喊出程序员的心声,远离jsp,前后端分离!!!!!! 1、常用的js开发模式,尤其是jquery开发模式,一般都是重复累赘的书写,毫无维护性和可读性而言,例如 要是有一天id变了,需求变...
  • Take_Dream_as_Horse
  • Take_Dream_as_Horse
  • 2017年12月06日 14:04
  • 95

IOS设计模式第一篇之MVC

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

设计模式之装饰器(第一篇)

设计模式这一块一直在我心头放着,每每闲暇之时都会想起我得去系统的了解一下,并且写一些文章记录学习的过程,算是一本《设计过程学习笔记》吧。 设计模式还有6个原则: 里氏替换, 接口最小化 ,最小知道 ,...
  • maple980326
  • maple980326
  • 2016年11月15日 16:38
  • 150

笑谈设计模式(第一篇)

都说软件世界是现实世界的抽象,现实世界的事物都可以用软件来反应。在软件世界中,有一套解决通用问题的方法,高大上的讲法是:设计模式。 说起设计模式,懂得软件的人,都会肃然起敬,因为它在这个行业一直是...
  • Aric_Chen
  • Aric_Chen
  • 2015年04月04日 11:12
  • 1190
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式连载:第一篇转职系统模式
举报原因:
原因补充:

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