模板模式c#(非常简单,但又非常简洁好玩)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 模板模式
{
    public abstract class CarProces
    {
        public abstract void handler1();
        public abstract void handler2();

public void handler()
        {
            handler1();
            handler2();
        }
    }

public class BusProcess : CarProces
    {
        public override void handler1()
        {
            Console.WriteLine("car process1");
        }

public override void handler2()
        {
            Console.WriteLine("car process2");
        }
    }
    public class JeepProcess : CarProces
    {
        public override void handler1()
        {
            Console.WriteLine("jeep process1");
        }

public override void handler2()
        {
            Console.WriteLine("jeep process2");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            CarProces c1=new BusProcess();

CarProces c2=new JeepProcess();
           c1.handler();
            Console.WriteLine("--------------------");
            c2.handler();
            Console.ReadKey();
        }
    }
}

时间: 2024-10-31 23:47:15

模板模式c#(非常简单,但又非常简洁好玩)的相关文章

java模式:模板模式的简单理解

1.模板模式就是用虚类作为基类将几个要执行差不多操作中相同的部分提取出来,不同的部分各自实现! 2.下面给出简单栗子: 我要进行的操作是将大象和狐狸放入冰箱,放入大象和狐狸有相同的步骤:开冰箱和关冰箱,这个操作在基类中实现就好,而不同的在于具体操作部分: 一,大象太胖了,要测量并切片才能放入冰箱 二,狐狸太臭了,要洗干净并擦干 所以程序如下: 1.基类:BasicFridgeOperation.java package com.learn.templateMode; /** * Created

咸蛋系列一●《模板模式构建随机对象生成》2 构思

随机对象生成可以说是随机数生成的一个延伸,在实际使用中,我们可能要生成的不是一个简简单单的数字,而是像数字.大小写字符.中文汉字.算数表达式等. 由于其实现相对简单,取各种随机对象的源码网上也比比皆是,因而貌似也没人做一个通用的.可扩展的随机对象生成. 博主要不是因为闲得蛋疼也是不会想到做这个东西的,好了,言归正传.分析随机对象生成,其要点无外乎三点: 1. 设置随机对象集: 2. 获取一个或多个随机对象: 3. 获取一个或多个不重复随机对象: 在这三点中,后两者算法皆固定,仅设置对象集不同,故

使用TT模板+mvc+wcf实现简单查询

伴随着春姑娘调皮的脚步,小编接手的档案管理项目也渐渐步入正轨,从开始的需求分析,到使用Axure画原型图,再到使用powerdesigner设计实体,生成数据库,一直到昨天刚刚通了一条线,这一路走来,小编懂得了很多,无路学习还是和团队小伙伴的交流合作,有时候,总是会因为大家意见不统一,搞的大家吹胡子瞪眼,但有时也会因为某件事情圆满成功而欢欣鼓舞,小组中最开心的事儿莫过于有人开会迟到买吃的了,哈哈,暴露了小编的本质,开头说了这么多,接下来,小编就跟分享一下,如果利用TT模板+mvc+wcf实现简单

【设计模式】模板模式

引子 这是一个很简单的模式,却被非常广泛的使用. 之所以简单是因为在这个模式中仅仅使用到了继承关系. 继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子. “使用委派关系代替继承关系”, “尽量使用接口实现而不是抽象类继承”等等专家警告,让我们大家对继承“另眼相看”. 其实,继承还是有很多自身的优点所在.只是被大家滥用的似乎缺点更加明显了. 合理的利用继承关系,还是能对你的系统设计起到很好的作用的. 而模板方法模式就是其中的一个使用范例. 定义与结构 模板方法(Template Method)

Java设计模式之模板模式(Template )

前言: 最近学习了Glide开源图片缓存框架,在学习到通过使用ModelLoader自定义数据源的时候,Glide巧妙的使用了Java的模板模式来对外暴露处理不同的Url数据源,今天来学习总结一下模板模式. 模板模式(Template ): 模板方法模式是类的行为模式.准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现.这就是模板方法模式的用意. 模式中的角色 抽象

设计模式之模板模式

模板模式是一个非常简单的行为类模式. 模板方法Gof的定义是:在一个方法里定义算法的骨架,将一些步骤延迟到其子类. 模板模式包含一个抽象的类和它的实现类,我们在抽象类中定义骨架,需要用到的方法都是抽象方法,具体的实现由它的子类来完成. eg: public abstract class Template{ public void printDate(){ // 显示排序后的List sort(list); } public List sort(List list); } public class

抽象类和模板模式

一模板模式的简单规则 抽象父类可以只定义需要使用的某些方法,把不能实现的部分抽象成抽象方法,留给其子类去实现. 父类中可能包含需要调用其它系列方法的方法,这些被调用的方法既可以由父类实现,也可以由其子类实现.父类里提供的方法只定义了一个通用算法,其实现也许并不完全由自身实现,而必须依赖于其子类的辅助. 二模板模式应用 1代码示例  下载 Java代码   public abstract class SpeedMeter { // 转速 private double turnRate; publi

《设计模式》- 模板模式

模板模式在诸多模式中算是比较简单的一个,即便一个新手,也能很快的上手和使用.虽然简单,但合理的在项目中使用带来的好处可不小.软件设计中有个很重要的原则:DRY(Don't Repeat Yourself),重复有很多种,比如代码重复,逻辑重复,而模板模式的最拿手的就是消除逻辑重复. 我们先看一下模板模式的定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中去实现.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤.只要你学习过任何一门面向对象语言,那么理解上面的定义

模板模式的应用

可以这么说,不懂设计模式,难以理解面向对象的思想.也可以反过来说,不理解面向对象的思想,很难理解设计模式.不是吗? 今天我要和大家说一说c#实现模板模式,这是一个非常常用,并且简单的模式,在众多的设计模式中,这是我用的最多,而且是自然而然地应用,没有担心过什么. 曾几何时,模板模式悄悄地跑到我的代码里面了,也许是我看别人的代码时,不小心学到的. 有这么一个场景:我需要做“个人成果导出”和“管理后台的成果导出”,两个模块的实现的功能是一样的,都是在页面上展示成果列表,然后可以管理.查询.导出成果.