This is a very old article, in my opinion, I do not remember what Impl was called.
, wikipedia :
:
( ), , : " , ". , , .
, .
, , .
, Publisher, , .
, , .
, , - ftp http, .
dababase , , , .
derrived Publisher, .
public abstract class Publisher
{
private address;
private abstract void Initialize();
protected virtual void SendChangesToWeb()
{
webClient.Upload(address, data)
}
private void LogSentChangesToDatabase()
{
}
public void PublishUpdates()
{
Initialize();
SendChangesToWeb();
LogSentChangesToDatabase();
}
}
public class GooglePublisher : Publisher {
private override Initialize()
{
address = "http://www.google.com";
}
}
public class FtpPublisher : Publisher {
private override Initialize()
{
address = "ftp://test.com";
}
protected override SendChangesToWeb()
{
FtpClient.Upload(address, data)
}
}