• 设计模式漫谈之模板方法


    最近也是挺烦的,博客园做为程序员的家园,其实不假。虽然现在写出的随笔,看的人少。就当自娱自乐了。烦恼就是矛盾引起的,人很多想法都会被外界环境影响。比如一个思考很久的决定,当事情真发生时,考虑过多,受到外界环境的影响就改变了。

    面试真的靠技巧,虽然你很NB,但是面试官不知道,不给你机会,也是白搭。真正知道你NB的人不多,因为人容易被假象所迷惑。

    想和我发生关系要对我负责,在面向对象中发生关系的有,继承,实现,关联,组合等

    首次都是套路,因为套路是敲门砖。

    对象的成员,对接口属于实现,对抽象类属于重写,对虚方法属于可以重写,用new 属于故意重写。

    继承重在已经拥有。

    人的眼界很重要,比如60岁一直在农村的没见过世面的,就很难理解我们这代人,我敬爱的老父亲最大的苦恼就是我没结婚,他的思想除了想这件事,其他事也不会想。这也怪我,活的自私,毕竟我们不是孤立的个体,不能看破红尘。

    头好疼,无法入睡。操的闲心太多。

    继承已经拥有说明对象中是不少的。

    类就是模板。

    闲话不扯了,今天说模板方法。

    模板就是条条框框已经写好,只用把占位符换成对象的特有属性。

    直接上例子,我来解释。

    //抽象类,已经拥有的

    abstract class AbstractClass
    {

    //需要个性重写的
    public abstract void PrimitiveOperation1();
    public abstract void PrimitiveOperation2();

    public void TemplateMethod()
    {
    PrimitiveOperation1();
    PrimitiveOperation2();
    Console.WriteLine("");
    }
    }

    //在模板上个性化实现

    class ConcreteClassA : AbstractClass
    {
    public override void PrimitiveOperation1()
    {
    Console.WriteLine("具体类A方法1实现");
    }
    public override void PrimitiveOperation2()
    {
    Console.WriteLine("具体类A方法2实现");
    }
    }

    //相当于替换模板的占位符

    class ConcreteClassB : AbstractClass
    {
    public override void PrimitiveOperation1()
    {
    Console.WriteLine("具体类B方法1实现");
    }
    public override void PrimitiveOperation2()
    {
    Console.WriteLine("具体类B方法2实现");
    }
    }

    //只是引用,

    AbstractClass c;

    //应用类型表示的对象

    c = new ConcreteClassA();

    //不强转时,表示引用类型的方法。

    c.TemplateMethod();

    c = new ConcreteClassB();
    c.TemplateMethod();

    总结,模板方法,就是把个性的方法重写,其他的用模板的成员。

    编程全靠思想,继承表示的就是这个对象已经拥有,个性化的成员,可以重写。

    重要的说三遍,程序员全靠编程思想。

    不扯了,头疼,哎

  • 相关阅读:
    spring.net 结合简单三层实例
    Spring.Net 如何管理您的类___对象的手动装配
    性能优化小结
    C#实例解析适配器设计模式
    谈AOP要step by step
    C#对图片文件的压缩、裁剪操作初探
    Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)
    多线程实现资源共享的问题学习与总结
    ASP.NET 设计模式
    Mac技巧索引
  • 原文地址:https://www.cnblogs.com/wang-charle/p/8994761.html
Copyright © 2020-2023  润新知