zoukankan      html  css  js  c++  java
  • 桥接模式

    代码
    using System;
    using System.Collections.Generic;

    public interface ILog
    {
        
    void Log(string str);
    }

    public class TxtLog:ILog
    {
        
    public void Log(string str)
        {
            Console.WriteLine(
    "Text Record:"+str);
        }
    }

    public class SQLServerLog:ILog
    {
        
    public void Log(string str)
        {
            Console.WriteLine(
    "SQLServerLog Record:"+str);
        }
    }

    public class OracleLog:ILog
    {
        
    public void Log(string str)
        {
            Console.WriteLine(
    "OracleLog Record:"+str);
        }
    }

    public abstract class Message
    {
        
    public ILog miketest;
        
    public abstract void Log(string str);
    }

    public class NoEncrytMessage:Message
    {
        
    public NoEncrytMessage(ILog log)
        {
            miketest
    =log;
        }
        
        
    public override void Log(string str)
        {
            Console.WriteLine(
    "不用加密!!");
            miketest.Log(str);
        }
    }

    public class EncrytMessage:Message
    {
        
    public EncrytMessage(ILog log)
        {
            miketest
    =log;
        }
        
        
    public override void Log(string str)
        {
            Console.WriteLine(
    "加密加密字符");
            miketest.Log(str);
        }
    }

    public class MyClass
    {
        
    public static void Main()
        {
            Message message
    =new EncrytMessage(new OracleLog());
            message.Log(
    "MIke");
            Console.WriteLine(
    "**********************");
            Message mymessage
    =new NoEncrytMessage(new SQLServerLog());
            mymessage.Log(
    "Janus");
            Console.WriteLine(
    "***********************");
            mymessage
    =new EncrytMessage(new SQLServerLog());
            mymessage.Log(
    "Janus");
            Console.ReadLine();
        }
    }


  • 相关阅读:
    含字母的数字排序
    ci中简单实用的权限管理
    时间戳和日期转换
    prop
    定时器
    centos查看防火墙策略是firewall还是iptables
    centos上安装rabbitmq服务器
    springcloud微服务feign消费模式解决 com.netflix.client.ClientException: Load balancer does not have available server for client:xxx
    java正则去掉json字符串key的引号
    centos安装redis
  • 原文地址:https://www.cnblogs.com/mikechang/p/1709014.html
Copyright © 2011-2022 走看看