OOP, Interface Design and Encapsulation
- by Mau
C# project, but it could be applied to any OO languages.
3 interfaces interacting:
public interface IPublicData {}
public /* internal */ interface IInternalDataProducer { string GetData(); }
public interface IPublicWorker {
IPublicData DoWork();
IInternalDataProducer GetInternalProducer();
}
public class Engine {
…