私は 2 つのカメラ ブランドのインターフェイスを作成しています。カメラへのインターフェイスは異なります (SDK が異なります) が、アクションは同じです (ズーム、パン、チルト)。これには 2 つのクラスが必要です。方法がわかりません。これをさらに説明するので、例を示します。
class program
{
public void main(string Brand)
{
CameraController controller;
if( Brand == "A" )
controller = new BrandACameraController();
else
controller = new BrandBCameraController();
controller.Pan(); //pan with chosen camera brand
}
}
class BrandACameraController
{
public BrandACameraController()
{
}
public void Pan()
{
//interface with brand a camera
}
public void Tilt()
{
//interface with brand a camera
}
public void Zoom()
{
//interface with brand a camera
}
}
class BrandBCameraController
{
public BrandBCameraController()
{
}
public void Pan()
{
//interface with brand b camera
}
public void Tilt()
{
//interface with brand b camera
}
public void Zoom()
{
//interface with brand b camera
}
}
どうすればいいですか?