设计模式之适配器与桥接模式解析
1. 适配器模式
适配器模式允许将现有的接口转换为需要的接口,以实现不同组件之间的交互。下面将详细介绍适配器模式的几种应用场景。
1.1 TSelf在工厂方法中的应用
TSelf 作为工厂方法的返回类型,使得创建派生类实例变得简单。例如:
var coord = Vector3f.Create(3.5f, 2.2f, 1);
这里 coord
的类型自然是 Vector3f
,无需进行类型转换。这就是递归泛型提供的功能。
1.2 依赖注入中的适配器
在某些高级适配器场景中,依赖注入框架(如 Autofac)可以很好地处理。考虑一个应用程序中有一组命令,每个命令都能自行执行:
public interface ICommand
{
void Execute();
}
public class SaveCommand : ICommand
{
public void Execute()
{
Console.WriteLine("Saving current file");
}
}
public class OpenCommand : ICommand
{
public void Execute()
{
Console.WriteLine("Opening a fil