码迷,mamicode.com
首页 > 其他好文 > 详细

[设计模式]设计模式

时间:2014-05-15 22:26:17      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:c   int   a   使用   工作   代码   

在进行控件封装时,通常会定义一个通用操作的接口,只要满足此接口,都可以使用控件承载其功能,但是当需要扩展控件基本功能的时候,难免会在此接口中添加其他的定义,那么实现了此接口的所有类定义都必须的添加新的方法,改动非常大。

通常的做法是使用一个抽象类实现此接口,其他需要扩展此接口的类都继承自此抽象类,而非直接继承接口本身,这样就算接口添加再多的方法,只需要在抽象类中添加对应方法即可,不影响子类。

 

伪代码描述:

interface CustomeViewInterface

{

     void Click();

     void Tap();

}

 

如果子类直接继承接口:

CustomeViewA : CustomeViewInterface

CusomteViewB : CustomeViewInterface

CustomeViewC : CustomeViewInterface

......

 

当CustomeViewInterface发生变化时,所有的CustomeViewA .... Z都要进行改动。工作量极大

 

解决办法:

使用一个抽象类实现接口

abstruct CusomteView : CustomeViewInterface

{

   public void Click(){};

   public void Tap(){};

}

其他子类继承与此抽象类

CustomeViewA : CusomteView

CusomteViewB : CusomteView

CusomteViewC : CusomteView

......

此时,如果接口CustomeViewInterface发生变化,只需要在抽象类CustomeView中进行修改即可,不会影响到其他子类

 

[设计模式]设计模式,布布扣,bubuko.com

[设计模式]设计模式

标签:c   int   a   使用   工作   代码   

原文地址:http://www.cnblogs.com/hellenism/p/3730669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!