zoukankan      html  css  js  c++  java
  • 设计模式 Vs实践-4 桥接模式

    上一篇使用的装饰者模式

    桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。

    如果将上一篇的装饰者模式改为桥接模式的话,代码修改如下(如理解的不对请指点)

    class Person
    {
        private string name;
        public Person()
        {
    
        }
        public Person(string name)
        {
            this.name = name;
        }
        public virtual void Show()
        {
            Console.WriteLine("装扮的{0}",name);
        }
    }
    abstract class Finery
    {
        protected Person person;
        public abstract void Show();
    
    }
    class TShirts : Finery
    {
        public TShirts(Person person)
        {
            this.person = person;
        }
    
        public override void Show()
        {
            Console.Write("TShirts ");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Person person = new Person();
            TShirts tShirts=new TShirts(person);
            tShirts.Show();
            Console.ReadLine();
        }
    }

    可以看到和装饰者模式区别在于:Finery不再继承自Person,在Finery类中定义一个类对象Person person

  • 相关阅读:
    Django
    索引
    idea启动tomcat后控制台日志显示中文乱码问题
    Elasticsearch
    Hive 开窗函数
    hadoop-3.1.1集群搭建
    hadoop-2.6.5集群搭建
    spark集群搭建(spark版本2.3.2)
    Zookeeper
    spark-submit(spark版本2.3.2)
  • 原文地址:https://www.cnblogs.com/zhaogaojian/p/12509556.html
Copyright © 2011-2022 走看看