适配器模式的分析、结构图及基本代码
2014-07-25 08:58
211 查看
下面说说适配器模式:
定义:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适用地方:在软件开发中,也就是系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
注意:要在双方都不太容易修改的时候再使用适配器模式适配。
开放-封闭原则:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。这个原则其实有两个特征,一个是说‘对于扩展时开放的’,另一个是说‘对于更改时封闭的’。在我们最初编写代码的时候,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。即面对需求,对程序的改动是通过新增代码进行的,而不是更改现有的代码。这就是‘开放-封闭原则’的精神所在,遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。
结构图:
![](http://www.dofactory.com/Patterns/Diagrams/adapter.gif)
基本代码:
using System;
using System.Collections.Generic;
using System.Text;
namespace 适配器模式
{
class Program
{
static void Main(string[] args)
{
Target target = new Adapter();
target.Request();
Console.Read();
}
}
class Target
{
public virtual void Request()
{
Console.WriteLine("普通请求");
}
}
class Adaptee
{
public void SpecificRequest()
{
Console.WriteLine("特殊请求");
}
}
class Adapter : Target
{
private Adaptee adaptee = new Adaptee();
public override void Request()
{
adaptee.SpecificRequest();
}
}
}
下面说说适配器模式:
定义:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
适用地方:在软件开发中,也就是系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况。
注意:要在双方都不太容易修改的时候再使用适配器模式适配。
开放-封闭原则:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。这个原则其实有两个特征,一个是说‘对于扩展时开放的’,另一个是说‘对于更改时封闭的’。在我们最初编写代码的时候,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化。即面对需求,对程序的改动是通过新增代码进行的,而不是更改现有的代码。这就是‘开放-封闭原则’的精神所在,遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。
结构图:
![](http://www.dofactory.com/Patterns/Diagrams/adapter.gif)
基本代码:
using System;
using System.Collections.Generic;
using System.Text;
namespace 适配器模式
{
class Program
{
static void Main(string[] args)
{
Target target = new Adapter();
target.Request();
Console.Read();
}
}
class Target
{
public virtual void Request()
{
Console.WriteLine("普通请求");
}
}
class Adaptee
{
public void SpecificRequest()
{
Console.WriteLine("特殊请求");
}
}
class Adapter : Target
{
private Adaptee adaptee = new Adaptee();
public override void Request()
{
adaptee.SpecificRequest();
}
}
}
相关文章推荐
- 适配器模式的分析、结构图及基本代码
- nginx代码分析-基本结构-动态数组ngx_array_t
- 访问者模式的分析、结构图及基本代码
- nginx代码分析-基本结构-单链表ngx_list_t
- 蓝牙代码基本结构分析
- 职责链模式分析、结构图与基本代码
- 桥接模式的分析、结构图及基本代码
- 职责链模式分析、结构图与基本代码
- 迭代器模式分析、结构图及基本代码
- nginx代码分析-基本结构-queue
- 备忘录模式分析、结构图及基本代码
- osworkflow基础入门部分汇总(基本概念,包用途分析及代码片断,表结构分析,主要优势,核心概念)
- 观察者模式分析、结构图及基本代码
- 模板方法模式分析、结构图和基本代码
- 解释器模式分析、结构图及基本代码
- 中介者模式分析、结构图及基本代码
- nginx代码分析-基本结构-哈希表ngx_hash_t
- 迭代器模式分析、结构图及基本代码
- MySQL源码分析——代码结构与基本流程
- nginx代码分析-基本结构-ngx_pool_t内存池