. , , - , , , , - "" ?
- # (, :) , powerupply dataLogger ).
public class DeviceTesting
{
private string powerSupplyAddress = "DA5";
private string dataLoggerAddress = "DA6";
public static void main()
{
DeviceInterface interface = GPIBInterface();
PowerSupply ps = new PowerSupply(powerSupplyAddress, interface);
DataLogger myLogger = new HP34970(dataLoggerAddress, interface);
ps.SetVoltage(220);
interface.SendLogMessage("Interface is operational");
interface.ExecuteTest("test1");
}
}
, , , ( - , , - ):
public GPIBInterface : DeviceInterface
{
public PowerSupply Power{get;set;}
public DataLogger Logger{get;set;}
public GPIBInterface()
{
}
private override void TestInitialization()
{
base.TestInitialization();
if (Power.TestConnection() == false)
throw new DeviceNotWorkingException(ps);
if (Logger.TestConnection() == false)
throw new DeviceNotWorkingException(_logger);
}
public void SendLogMessage(string message)
{
Logger.SendMessage(message);
}
public void ExecuteTest(string testName)
{
switch(testName)
{
case "test1":
Power.SetVoltage(280);
Logger.SendMessage("Voltage increased to 280V");
break;
}
}
}
, , , , . , PowerSupply , PowerSupply . , , PowerSupply , ( ).
, , "-" - , - 1, "thing1()" ; 441, . , ...
, Inversion of Control (IoC) - , , powerSupply, , , - , IoC. , , - IoC, .