-1
public class AStreamManager
{
public IVehicle Vehicle { get; set; }
public string AIp { get; set; }
public int APort { get; set; }
public delegate NetworkStream ConnectToAStream(string host, int port);
public AStreamManager(IVehicle vehicle, string IP, int Port)
{
Vehicle = vehicle;
AIp = IP;
APort = Port;
}
public NetworkStream ConnectToVehicleAStream(ConnectToAStream conn)
{
return conn(AIp, APort); ;
}
}
public class BStreamManager
{
public IVehicle Vehicle { get; set; }
public string BIp { get; set; }
public int BPort { get; set; }
public delegate NetworkStream ConnectToBStream(string host, int port);
public BStreamManager(IVehicle vehicle, string IP, int Port)
{
Vehicle = vehicle;
BIp = IP;
BPort = Port;
}
public NetworkStream ConnectToVehicleBStream(ConnectToBStream conn)
{
return conn(BIp, BPort); ;
}
我有兩個類AStreamManager
和BStreamManager
的部件。正如你在上面看到的,有一個類型爲IVehicle
的成員變量Vehicle
,這在這些類中很常見。 它是否有意義,我能否以'IVehicle Vehicle`移動到基類來重構?
這些類是相同的。你爲什麼有兩個?你可以將它們「重構」爲一個StreamManager類,然後爲AStream和BStream另外實例化一個? 'var aStream = new StreamManager(); var bStream = new StreamManager;' –
您的問題的答案是肯定的,您可以將Vehicle移動到基類。還要別的嗎? –