Net设计模式实例之桥接模式( Bridge Pattern)(3)

简介:

2、代码

1 抽象接口CustomersBase 及其具体实现类Customers
class  CustomersBase
{
    private DataObject  _dataObject;
    protected string  group;
    public  CustomersBase(string  group)
     {
        this .group = group;
     }
    // Property
    public DataObject  Data
     {
        set  { _dataObject = value ; }
        get  { return  _dataObject; }
     }
    public virtual void  Next()
     {
         _dataObject.NextRecord();
     }
    public virtual void  Prior()
     {
         _dataObject.PriorRecord();
     }
 
    public virtual void  Add(string  customer)
     {
         _dataObject.AddRecord(customer);
     }
 
    public virtual void  Delete(string  customer)
     {
         _dataObject.DeleteRecord(customer);
     }
 
    public virtual void  Show()
     {
         _dataObject.ShowRecord();
     }
 
    public virtual void  ShowAll ()
     {
        Console .WriteLine("Customer Group: "  + group);
         _dataObject.ShowAll Records();
     }
}
 
///   <summary>
///  The 'RefinedAbstraction' class
///   </summary>
class  Customers  : CustomersBase
{
    // Constructor
    public  Customers(string  group)
 
         base (group)
     {
     }
    public override void  ShowAll ()
     {
        // Add separator lines
        Console .WriteLine();
        Console .WriteLine("**************************" );
        base .ShowAll ();
        Console .WriteLine("**************************" );
     }
}
 
2 抽象数据对象类DataObject 及其具体实现类CustomersData
abstract  class DataObject
{
    public abstract void  NextRecord();
 
    public abstract void  PriorRecord();
 
    public abstract void  AddRecord(string  name);
 
    public abstract void  DeleteRecord(string  name);
 
    public abstract void  ShowRecord();
 
    public abstract void  ShowAll Records();
 
}
///   <summary>
///  The 'ConcreteImplementor' class
///   </summary>
class  CustomersData  : DataObject
{
    private List <string > _customers = new List <string >();
    private int  _current = 0;
 
    public  CustomersData()
     {
        // Loaded from a database
         _customers.Add("James Hao" );
         _customers.Add(" 灵动生活" );
         _customers.Add(" **" );
         _customers.Add("* *" );
         _customers.Add("** " );
     }
 
    public override void  NextRecord()
     {
        if  (_current <= _customers.Count - 1)
         {
             _current++;
         }
     }
 
    public override void  PriorRecord()
     {
        if  (_current > 0)
         {
             _current--;
         }
     }
 
    public override void  AddRecord(string  customer)
     {
         _customers.Add(customer);
     }
    public override void  DeleteRecord(string  customer)
     {
         _customers.Remove(customer);
     }
    public override void  ShowRecord()
     {
        Console .WriteLine(_customers[_current]);
     }
    public override void  ShowAll Records()
     {
        foreach  (string  customer in  _customers)
         {
            Console .WriteLine(" "  + customer);
         }
     }
}









本文转自 灵动生活 51CTO博客,原文链接:http://blog.51cto.com/smartlife/265773,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
设计模式 Java
【设计模式】JAVA Design Patterns——Bridge(桥接模式)
【设计模式】JAVA Design Patterns——Bridge(桥接模式)
【设计模式】JAVA Design Patterns——Bridge(桥接模式)
|
10月前
|
设计模式 Java 关系型数据库
认真学习设计模式之桥接模式(Bridge Pattern)
认真学习设计模式之桥接模式(Bridge Pattern)
56 0
|
11月前
|
设计模式 关系型数据库
设计模式11 - 桥梁模式【Bridge Pattern】
设计模式11 - 桥梁模式【Bridge Pattern】
35 0
|
11月前
|
设计模式 Java Unix
【设计模式——学习笔记】23种设计模式——桥接模式Bridge(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——桥接模式Bridge(原理讲解+应用场景介绍+案例介绍+Java代码实现)
92 0
|
11月前
|
设计模式 开发者
设计模式~桥接模式(bridge)-14
(1)优点: (2)缺点: (3)使用场景: (4)注意事项: (5)应用实例: 代码 桥接(Bridge)是
47 0
|
设计模式 Java
Java设计模式-桥接模式(Bridge Pattern)
Java设计模式-桥接模式(Bridge Pattern)
|
设计模式
聊聊设计模式中的Bridge模式
聊聊设计模式中的Bridge模式
80 0
|
设计模式 Unix API
设计模式学习(一):Bridge桥接模式
Bridge模式的作用是在“类的功能层次结构”和“类的实现层次结构”之间搭建桥梁。
134 0
设计模式学习(一):Bridge桥接模式
|
设计模式 开发者
从零开始学设计模式(十): 桥接模式(Bridge Pattern)
桥接(Bridge)模式又称为柄体(Handle and Body)模式或接口(Interface)模式,它将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。
202 0
从零开始学设计模式(十): 桥接模式(Bridge Pattern)
|
设计模式 Java
【Java设计模式】喝一杯Java茶吧,带你掌握桥接模式(Bridge)
【Java设计模式】喝一杯Java茶吧,带你掌握桥接模式(Bridge)
【Java设计模式】喝一杯Java茶吧,带你掌握桥接模式(Bridge)
下一篇
DDNS