public static void ProcessFileWithCompressedAndEncryptedData() { IDataSource source = new File("file.dat"); source = new EncryptionDecorator(source); source = new CompressionDecorator(source); source.Write("Hello world"); Console.WriteLine($"Read: {source.Read()}\n"); }
static void Main(string[] args) { // This needs an explicit type IDataSource dataSource = new FileDataSource("somefile.dat"); dataSource.WriteData("Hello, world!"); dataSource = new EncryptionDecorator(dataSource); dataSource.WriteData("Something confidential."); dataSource = new CompressionDecorator(dataSource); dataSource.WriteData("Something need to be compressed."); }
void CompressThenEncrypt() { var original = "Top Score is 305"; var data = new CompressDecorator((new FileDataSource(original))); data.writeData(original); var data2 = new EncryptionDecorator(data); data2.writeData(data.readData()); var converted = data2.readData(); // compress then encryppt. Assert.Equal("top score is 3", converted); }
public void DumbUsageExample() { IDataSource source = new FileDataSource("somefile.data"); source.WriteData(); // The target file has been written with plain data. source = new CompressionDecorator(source); source.WriteData(); // The target file has been written with compressed data. source = new EncryptionDecorator(source); source.WriteData(); // The target file has been written with encrypted data. }
void CompressThenEncodeThenEncrypt() { var original = "Top Score is 305"; var data = new CompressDecorator(new FileDataSource(original)); data.writeData(original); var data2 = new EncodeDecorator(data); data2.writeData(data.readData()); var data3 = new EncryptionDecorator(data2); data3.writeData(data2.readData()); var converted = data3.readData(); Assert.Equal("(top score is 3)", converted); }
static void Main(string[] args) { List <object> commandParameters = new List <object>(); commandParameters.Add(1); commandParameters.Add(2); Command command = new Command(commandParameters); Flux flux = new Flux(); CompressionDecorator compressedFlux = new CompressionDecorator(flux); EncryptionDecorator encryptedCompressedFlux = new EncryptionDecorator(compressedFlux); encryptedCompressedFlux.WriteData(Command.Serialize(command)); List <object> parameters = new List <object>(); parameters.Add("localhost"); parameters.Add(8888); flux = new WebSocketSender().Send(flux, parameters); Console.WriteLine("Command result : " + BitConverter.ToInt32(flux.ReadData(), 0)); Console.Write("Type any key to end the program"); Console.ReadLine(); }