62
var stream = new EncryptedCloudStream(new CompressedCloudStream(new CloudStream()));
1
using System;
2
3
public interface IStream
4
{
5
void Write(string data);
6
}
7
public class CloudStream: IStream
8
{
9
public virtual void Write(string data)
10
{
11
Console.WriteLine("Storing " + data);
12
}
13
}
14
public class CompressedCloudStream: IStream
15
{
16
private readonly IStream _stream;
17
18
public CompressedCloudStream(IStream stream)
19
{
20
_stream = stream;
21
}
22
23
public void Write(string data)
24
{
Cached Result
CAFE at 1 2