├── .vs
└── Design Patterns
│ └── v15
│ └── .suo
├── Adapter
├── Adapter.csproj
├── Adapter.csproj.user
├── App.config
├── Exercise.cs
├── NoCaching.cs
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Adapter.exe
│ │ ├── Adapter.exe.config
│ │ ├── Adapter.pdb
│ │ ├── MoreLinq.dll
│ │ ├── MoreLinq.xml
│ │ ├── System.ValueTuple.dll
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
├── obj
│ └── Debug
│ │ ├── Adapter.csproj.FileListAbsolute.txt
│ │ ├── Adapter.csprojResolveAssemblyReference.cache
│ │ ├── Adapter.exe
│ │ ├── Adapter.pdb
│ │ ├── CoreCompileInputs.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
└── packages.config
├── Bridge
├── App.config
├── Bridge.csproj
├── Bridge.csproj.user
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
├── StructuralBridge.cs
├── bin
│ └── Debug
│ │ ├── Autofac.dll
│ │ ├── Autofac.xml
│ │ ├── Bridge.exe
│ │ ├── Bridge.exe.config
│ │ ├── Bridge.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
├── obj
│ └── Debug
│ │ ├── Bridge.csproj.FileListAbsolute.txt
│ │ ├── Bridge.csprojResolveAssemblyReference.cache
│ │ ├── Bridge.exe
│ │ ├── Bridge.pdb
│ │ ├── CoreCompileInputs.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
└── packages.config
├── Builder
├── App.config
├── Builder.csproj
├── Builder.csproj.user
├── ClassAttribute.cs
├── CodeBuilder.cs
├── Exercise.cs
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Builder.exe
│ │ ├── Builder.exe.config
│ │ ├── Builder.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ ├── Debug
│ ├── Builder.csproj.FileListAbsolute.txt
│ ├── Builder.csprojResolveAssemblyReference.cache
│ ├── Builder.exe
│ ├── Builder.pdb
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ └── Release
│ └── CoreCompileInputs.cache
├── Chain Of Responsibility
├── App.config
├── BrokerChain.cs
├── Chain Of Responsibility.csproj
├── Chain Of Responsibility.csproj.user
├── Exercise.cs
├── MethodChain.cs
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Chain Of Responsibility.exe
│ │ ├── Chain Of Responsibility.exe.config
│ │ ├── Chain Of Responsibility.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── Chain Of Responsibility.csproj.FileListAbsolute.txt
│ ├── Chain Of Responsibility.csprojResolveAssemblyReference.cache
│ ├── Chain Of Responsibility.exe
│ ├── Chain Of Responsibility.pdb
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Command
├── App.config
├── Command.csproj
├── Command.csproj.user
├── CommandExample.cs
├── Exercise.cs
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Command.exe
│ │ ├── Command.exe.config
│ │ ├── Command.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── Command.csproj.FileListAbsolute.txt
│ ├── Command.csprojResolveAssemblyReference.cache
│ ├── Command.exe
│ ├── Command.pdb
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Composite
├── App.config
├── Composite.csproj
├── Composite.csproj.user
├── Exercise.cs
├── GeometricShapes.cs
├── NeuralNetworks.cs
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Composite.exe
│ │ ├── Composite.exe.config
│ │ ├── Composite.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── Composite.csproj.FileListAbsolute.txt
│ ├── Composite.csprojResolveAssemblyReference.cache
│ ├── Composite.exe
│ ├── Composite.pdb
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Decorator
├── AdapterDecorator.cs
├── App.config
├── CodeBuilder.cs
├── Decorator.csproj
├── Decorator.csproj.user
├── DynamicDecorator.cs
├── Exercise.cs
├── MultipleInheritance.cs
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Decorator.exe
│ │ ├── Decorator.exe.config
│ │ ├── Decorator.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── Decorator.csproj.FileListAbsolute.txt
│ ├── Decorator.csprojResolveAssemblyReference.cache
│ ├── Decorator.exe
│ ├── Decorator.pdb
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Design Patterns.sln
├── Factory
├── App.config
├── ExamplePoint.cs
├── Exercise.cs
├── Factory.csproj
├── Factory.csproj.user
├── Person.cs
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Factory.exe
│ │ ├── Factory.exe.config
│ │ ├── Factory.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ ├── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Factory.csproj.FileListAbsolute.txt
│ ├── Factory.csprojResolveAssemblyReference.cache
│ ├── Factory.exe
│ ├── Factory.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ └── Release
│ └── CoreCompileInputs.cache
├── Façade
├── App.config
├── Cadin.cs
├── Cliente.cs
├── Facade.cs
├── Façade.csproj
├── LimiteCredito.cs
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
├── Serasa.cs
├── bin
│ └── Debug
│ │ ├── Façade.exe
│ │ ├── Façade.exe.config
│ │ ├── Façade.pdb
│ │ └── nunit_random_seed.tmp
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Façade.csproj.FileListAbsolute.txt
│ ├── Façade.csprojResolveAssemblyReference.cache
│ ├── Façade.exe
│ ├── Façade.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Flyweight
├── .vs
│ ├── Flyweight
│ │ └── v15
│ │ │ └── .suo
│ ├── VSWorkspaceState.json
│ └── slnx.sqlite
├── App.config
├── Exercise.cs
├── Flyweight.csproj
├── Flyweight.csproj.user
├── FlyweightUsers.cs
├── Properties
│ └── AssemblyInfo.cs
├── TextFormatting.cs
├── bin
│ └── Debug
│ │ ├── Flyweight.exe
│ │ ├── Flyweight.exe.config
│ │ ├── Flyweight.pdb
│ │ ├── JetBrains.Profiler.Windows.Api.dll
│ │ ├── nunit.framework.dll
│ │ ├── nunit.framework.xml
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
├── obj
│ ├── Debug
│ │ ├── CoreCompileInputs.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── Flyweight.csproj.FileListAbsolute.txt
│ │ ├── Flyweight.csprojResolveAssemblyReference.cache
│ │ ├── Flyweight.exe
│ │ ├── Flyweight.pdb
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ └── Release
│ │ └── CoreCompileInputs.cache
└── packages.config
├── Interpreter
├── App.config
├── Exercise.cs
├── Interpreter.csproj
├── Interpreter.csproj.user
├── InterpreterHandmade.cs
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Interpreter.exe
│ │ ├── Interpreter.exe.config
│ │ ├── Interpreter.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Interop.MSScriptControl.dll
│ ├── Interpreter.csproj.FileListAbsolute.txt
│ ├── Interpreter.csproj.ResolveComReference.cache
│ ├── Interpreter.csprojResolveAssemblyReference.cache
│ ├── Interpreter.exe
│ ├── Interpreter.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Iterator
├── App.config
├── ArrayBackedProperties.cs
├── Exercise.cs
├── Iterator.csproj
├── Iterator.csproj.user
├── Properties
│ └── AssemblyInfo.cs
├── TreeTraversal.cs
├── bin
│ └── Debug
│ │ ├── Iterator.exe
│ │ ├── Iterator.exe.config
│ │ ├── Iterator.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferences.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Iterator.csproj.FileListAbsolute.txt
│ ├── Iterator.csprojResolveAssemblyReference.cache
│ ├── Iterator.exe
│ ├── Iterator.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── LICENSE
├── Mediator
├── App.config
├── ChatRoom.cs
├── Exercise.cs
├── Mediator.csproj
├── Mediator.csproj.user
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── Mediator.exe
│ │ ├── Mediator.exe.config
│ │ ├── Mediator.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Mediator.csproj.FileListAbsolute.txt
│ ├── Mediator.csprojResolveAssemblyReference.cache
│ ├── Mediator.exe
│ ├── Mediator.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Memento
├── App.config
├── BehavioralMemento.cs
├── Exercise.cs
├── Memento.csproj
├── Memento.csproj.user
├── Properties
│ └── AssemblyInfo.cs
├── UndoRedo.cs
├── bin
│ └── Debug
│ │ ├── Memento.exe
│ │ ├── Memento.exe.config
│ │ ├── Memento.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Memento.csproj.FileListAbsolute.txt
│ ├── Memento.csprojResolveAssemblyReference.cache
│ ├── Memento.exe
│ ├── Memento.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Null Object
├── App.config
├── BehaviorNullObject.cs
├── Exercise.cs
├── Null Object.csproj
├── Null Object.csproj.user
├── Properties
│ └── AssemblyInfo.cs
├── bin
│ └── Debug
│ │ ├── ImpromptuInterface.dll
│ │ ├── ImpromptuInterface.xml
│ │ ├── Null Object.exe
│ │ ├── Null Object.exe.config
│ │ ├── Null Object.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
├── obj
│ └── Debug
│ │ ├── CoreCompileInputs.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── Null Object.csproj.FileListAbsolute.txt
│ │ ├── Null Object.csprojResolveAssemblyReference.cache
│ │ ├── Null Object.exe
│ │ ├── Null Object.pdb
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
└── packages.config
├── Observer
├── App.config
├── Exercise.cs
├── Observer.csproj
├── ObserverEvents.cs
├── ObserverList.cs
├── Properties
│ └── AssemblyInfo.cs
├── SingleObjectObserver.cs
├── WeakEvent.cs
├── bin
│ └── Debug
│ │ ├── Observer.exe
│ │ ├── Observer.exe.config
│ │ ├── Observer.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Observer.csproj.FileListAbsolute.txt
│ ├── Observer.csprojResolveAssemblyReference.cache
│ ├── Observer.exe
│ ├── Observer.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Prototype
├── App.config
├── CopyConstructors.cs
├── CopyThroughSerialization.cs
├── Exercise.cs
├── Properties
│ └── AssemblyInfo.cs
├── Prototype.csproj
├── Prototype.csproj.user
├── bin
│ └── Debug
│ │ ├── Prototype.exe
│ │ ├── Prototype.exe.config
│ │ ├── Prototype.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ ├── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Prototype.csproj.FileListAbsolute.txt
│ ├── Prototype.csprojResolveAssemblyReference.cache
│ ├── Prototype.exe
│ ├── Prototype.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ └── Release
│ └── CoreCompileInputs.cache
├── Proxy
├── App.config
├── DynamicProxyLogging.cs
├── Exercise.cs
├── Properties
│ └── AssemblyInfo.cs
├── PropertyProxy.cs
├── Proxy.csproj
├── Proxy.csproj.user
├── ProxyProtection.cs
├── bin
│ └── Debug
│ │ ├── ImpromptuInterface.dll
│ │ ├── ImpromptuInterface.xml
│ │ ├── Proxy.exe
│ │ ├── Proxy.exe.config
│ │ ├── Proxy.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
├── obj
│ └── Debug
│ │ ├── CoreCompileInputs.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── Proxy.csproj.FileListAbsolute.txt
│ │ ├── Proxy.csprojResolveAssemblyReference.cache
│ │ ├── Proxy.exe
│ │ ├── Proxy.pdb
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
└── packages.config
├── README.md
├── Singleton
├── CreationalSingleton.cs
├── CreationalSingletonDI.cs
├── Exercise.cs
├── Properties
│ └── launchSettings.json
├── Singleton.csproj
├── SingletonMonostate.cs
├── bin
│ └── Debug
│ │ └── netcoreapp1.1
│ │ ├── Singleton.deps.json
│ │ ├── Singleton.dll
│ │ ├── Singleton.pdb
│ │ ├── Singleton.runtimeconfig.dev.json
│ │ ├── Singleton.runtimeconfig.json
│ │ └── capitals.txt
├── capitals.txt
├── exercise.jpg
└── obj
│ ├── Debug
│ └── netcoreapp1.1
│ │ ├── CoreCompileInputs.cache
│ │ ├── Singleton.AssemblyInfo.cs
│ │ ├── Singleton.csproj.FileListAbsolute.txt
│ │ ├── Singleton.csprojResolveAssemblyReference.cache
│ │ ├── Singleton.dll
│ │ ├── Singleton.pdb
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ ├── Singleton.csproj.nuget.g.props
│ ├── Singleton.csproj.nuget.g.targets
│ └── project.assets.json
├── State
├── App.config
├── Exercise.cs
├── HandmadeStateMachine.cs
├── Properties
│ └── AssemblyInfo.cs
├── State.csproj
├── State.csproj.user
├── StateMachineStateless.cs
├── bin
│ └── Debug
│ │ ├── State.exe
│ │ ├── State.exe.config
│ │ ├── State.pdb
│ │ ├── Stateless.dll
│ │ ├── Stateless.pdb
│ │ ├── Stateless.xml
│ │ ├── System.ValueTuple.dll
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
├── obj
│ └── Debug
│ │ ├── CoreCompileInputs.cache
│ │ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ │ ├── State.csproj.FileListAbsolute.txt
│ │ ├── State.csprojResolveAssemblyReference.cache
│ │ ├── State.exe
│ │ ├── State.pdb
│ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
└── packages.config
├── Strategy
├── App.config
├── Dynamic.cs
├── Exercise.cs
├── Properties
│ └── AssemblyInfo.cs
├── Static.cs
├── Strategy.csproj
├── Strategy.csproj.user
├── bin
│ └── Debug
│ │ ├── Strategy.exe
│ │ ├── Strategy.exe.config
│ │ ├── Strategy.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Strategy.csproj.FileListAbsolute.txt
│ ├── Strategy.csprojResolveAssemblyReference.cache
│ ├── Strategy.exe
│ ├── Strategy.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Template Method
├── App.config
├── ChessGame.cs
├── Exercise.cs
├── Properties
│ └── AssemblyInfo.cs
├── Template Method.csproj
├── Template Method.csproj.user
├── bin
│ └── Debug
│ │ ├── Template Method.exe
│ │ ├── Template Method.exe.config
│ │ ├── Template Method.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── Template Method.csproj.FileListAbsolute.txt
│ ├── Template Method.csprojResolveAssemblyReference.cache
│ ├── Template Method.exe
│ ├── Template Method.pdb
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
├── Visitor
├── App.config
├── Classic.cs
├── Dynamic.cs
├── Exercise.cs
├── Intrusive.cs
├── Properties
│ └── AssemblyInfo.cs
├── Reflective.cs
├── Visitor.csproj
├── Visitor.csproj.user
├── bin
│ └── Debug
│ │ ├── Visitor.exe
│ │ ├── Visitor.exe.config
│ │ ├── Visitor.pdb
│ │ └── nunit_random_seed.tmp
├── exercise.jpg
└── obj
│ └── Debug
│ ├── CoreCompileInputs.cache
│ ├── DesignTimeResolveAssemblyReferencesInput.cache
│ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
│ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
│ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
│ ├── Visitor.csproj.FileListAbsolute.txt
│ ├── Visitor.csprojResolveAssemblyReference.cache
│ ├── Visitor.exe
│ └── Visitor.pdb
└── packages
├── Autofac.4.6.0
├── Autofac.4.6.0.nupkg
└── lib
│ ├── net45
│ ├── Autofac.dll
│ └── Autofac.xml
│ └── netstandard1.1
│ ├── Autofac.dll
│ └── Autofac.xml
├── ImpromptuInterface.6.2.2
├── ImpromptuInterface.6.2.2.nupkg
├── License.txt
├── Readme.md
└── lib
│ ├── SL40
│ ├── ImpromptuInterface.XML
│ └── ImpromptuInterface.dll
│ ├── SL50
│ ├── ImpromptuInterface.XML
│ └── ImpromptuInterface.dll
│ └── net40
│ ├── ImpromptuInterface.dll
│ └── ImpromptuInterface.xml
├── MSTest.TestAdapter.1.1.11
├── MSTest.TestAdapter.1.1.11.nupkg
└── build
│ ├── _common
│ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll
│ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll
│ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.dll
│ ├── cs
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── de
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── es
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── fr
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── it
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── ja
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── ko
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── pl
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── pt
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── ru
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── tr
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── zh-Hans
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ └── zh-Hant
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll
│ │ ├── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.resources.dll
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll
│ ├── net45
│ ├── MSTest.TestAdapter.props
│ └── MSTest.TestAdapter.targets
│ ├── netstandard1.0
│ ├── MSTest.TestAdapter.props
│ └── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
│ └── uap10.0
│ ├── MSTest.TestAdapter.props
│ ├── MSTest.TestAdapter.targets
│ └── Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll
├── MSTest.TestFramework.1.1.11
├── MSTest.TestFramework.1.1.11.nupkg
└── lib
│ ├── dotnet
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.dll
│ ├── cs
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── de
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── es
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── fr
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── it
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ja
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ko
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── pl
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── pt
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ru
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── tr
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── zh-Hans
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ └── zh-Hant
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── net45
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.dll
│ ├── cs
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── de
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── es
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── fr
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── it
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ja
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ko
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── pl
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── pt
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ru
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── tr
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── zh-Hans
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ └── zh-Hant
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── netcoreapp1.0
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.dll
│ ├── cs
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── de
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── es
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── fr
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── it
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ja
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ko
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── pl
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── pt
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ru
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── tr
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── zh-Hans
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ └── zh-Hant
│ │ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ │ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ └── uap10.0
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.dll
│ ├── cs
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── de
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── es
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── fr
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── it
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ja
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ko
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── pl
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── pt
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── ru
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── tr
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ ├── zh-Hans
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
│ └── zh-Hant
│ ├── Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.XML
│ └── Microsoft.VisualStudio.TestPlatform.TestFramework.XML
├── NUnit.3.7.1
├── CHANGES.md
├── LICENSE.txt
├── NOTICES.txt
├── NUnit.3.7.1.nupkg
└── lib
│ ├── net20
│ ├── NUnit.System.Linq.dll
│ ├── nunit.framework.dll
│ └── nunit.framework.xml
│ ├── net35
│ ├── nunit.framework.dll
│ └── nunit.framework.xml
│ ├── net40
│ ├── nunit.framework.dll
│ └── nunit.framework.xml
│ ├── net45
│ ├── nunit.framework.dll
│ └── nunit.framework.xml
│ ├── netstandard1.3
│ ├── nunit.framework.dll
│ └── nunit.framework.xml
│ └── netstandard1.6
│ ├── nunit.framework.dll
│ └── nunit.framework.xml
├── NUnit3TestAdapter.3.7.0
├── LICENSE.txt
├── NUnit3TestAdapter.3.7.0.nupkg
└── tools
│ ├── Mono.Cecil.Mdb.dll
│ ├── Mono.Cecil.Pdb.dll
│ ├── Mono.Cecil.Rocks.dll
│ ├── Mono.Cecil.dll
│ ├── NUnit3.TestAdapter.dll
│ ├── nunit.engine.api.dll
│ └── nunit.engine.dll
├── System.ValueTuple.4.3.0
├── System.ValueTuple.4.3.0.nupkg
├── ThirdPartyNotices.txt
├── dotnet_library_license.txt
└── lib
│ ├── netstandard1.0
│ ├── .xml
│ └── System.ValueTuple.dll
│ └── portable-net40+sl4+win8+wp8
│ ├── .xml
│ └── System.ValueTuple.dll
├── System.ValueTuple.4.3.1
├── System.ValueTuple.4.3.1.nupkg
├── ThirdPartyNotices.txt
├── dotnet_library_license.txt
├── lib
│ ├── MonoAndroid10
│ │ └── _._
│ ├── MonoTouch10
│ │ └── _._
│ ├── netstandard1.0
│ │ ├── .xml
│ │ └── System.ValueTuple.dll
│ ├── portable-net40+sl4+win8+wp8
│ │ ├── .xml
│ │ └── System.ValueTuple.dll
│ ├── xamarinios10
│ │ └── _._
│ ├── xamarinmac20
│ │ └── _._
│ ├── xamarintvos10
│ │ └── _._
│ └── xamarinwatchos10
│ │ └── _._
└── ref
│ ├── MonoAndroid10
│ └── _._
│ ├── MonoTouch10
│ └── _._
│ ├── xamarinios10
│ └── _._
│ ├── xamarinmac20
│ └── _._
│ ├── xamarintvos10
│ └── _._
│ └── xamarinwatchos10
│ └── _._
├── morelinq.2.5.0
├── lib
│ ├── net35
│ │ ├── MoreLinq.dll
│ │ └── MoreLinq.xml
│ ├── net40
│ │ ├── MoreLinq.dll
│ │ └── MoreLinq.xml
│ └── netstandard1.0
│ │ ├── MoreLinq.dll
│ │ └── MoreLinq.xml
└── morelinq.2.5.0.nupkg
└── stateless-4.0.2.3.1.1
├── lib
└── net40
│ ├── Stateless.XML
│ ├── Stateless.dll
│ └── Stateless.pdb
└── stateless-4.0.2.3.1.1.nupkg
/.vs/Design Patterns/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/.vs/Design Patterns/v15/.suo
--------------------------------------------------------------------------------
/Adapter/Adapter.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Adapter/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Adapter/Exercise.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | ///
4 | /// Determine the API you have and the API you need
5 | /// Create a component which aggregates the adapter, like extending an Interface
6 | /// Intermediante representations: use caching and other optimizations
7 | ///
8 | namespace Coding.Exercise
9 | {
10 | public class Square
11 | {
12 | public int Side;
13 | }
14 |
15 | public interface IRectangle
16 | {
17 | int Width { get; }
18 | int Height { get; }
19 | }
20 |
21 | public static class ExtensionMethods
22 | {
23 | public static int Area(this IRectangle rc)
24 | {
25 | return rc.Width * rc.Height;
26 | }
27 | }
28 |
29 | public class SquareToRectangleAdapter : IRectangle
30 | {
31 | public Square square;
32 | public int Width => square.Side;
33 | public int Height => square.Side;
34 |
35 | public SquareToRectangleAdapter(Square square)
36 | {
37 | this.square = square;
38 | square.Side = Width;
39 | }
40 | }
41 | }
--------------------------------------------------------------------------------
/Adapter/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Adapter")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Adapter")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("3832a5d8-e75c-4506-ba18-f134c13219f8")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Adapter/bin/Debug/Adapter.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/bin/Debug/Adapter.exe
--------------------------------------------------------------------------------
/Adapter/bin/Debug/Adapter.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Adapter/bin/Debug/Adapter.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/bin/Debug/Adapter.pdb
--------------------------------------------------------------------------------
/Adapter/bin/Debug/MoreLinq.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/bin/Debug/MoreLinq.dll
--------------------------------------------------------------------------------
/Adapter/bin/Debug/System.ValueTuple.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/bin/Debug/System.ValueTuple.dll
--------------------------------------------------------------------------------
/Adapter/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 544023920
--------------------------------------------------------------------------------
/Adapter/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/exercise.jpg
--------------------------------------------------------------------------------
/Adapter/obj/Debug/Adapter.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\bin\Debug\Adapter.exe.config
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\bin\Debug\Adapter.exe
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\bin\Debug\Adapter.pdb
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\bin\Debug\MoreLinq.dll
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\bin\Debug\System.ValueTuple.dll
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\bin\Debug\MoreLinq.xml
7 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\obj\Debug\Adapter.csprojResolveAssemblyReference.cache
8 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\obj\Debug\Adapter.exe
9 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Adapter\obj\Debug\Adapter.pdb
10 |
--------------------------------------------------------------------------------
/Adapter/obj/Debug/Adapter.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/obj/Debug/Adapter.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Adapter/obj/Debug/Adapter.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/obj/Debug/Adapter.exe
--------------------------------------------------------------------------------
/Adapter/obj/Debug/Adapter.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/obj/Debug/Adapter.pdb
--------------------------------------------------------------------------------
/Adapter/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 4101d5c35c5b90b86f7788b0136d6b8c2aa7665b
2 |
--------------------------------------------------------------------------------
/Adapter/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Adapter/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Adapter/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Adapter/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Adapter/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Adapter/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Bridge/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bridge/Bridge.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Bridge/bin/Debug/Autofac.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/bin/Debug/Autofac.dll
--------------------------------------------------------------------------------
/Bridge/bin/Debug/Bridge.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/bin/Debug/Bridge.exe
--------------------------------------------------------------------------------
/Bridge/bin/Debug/Bridge.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Bridge/bin/Debug/Bridge.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/bin/Debug/Bridge.pdb
--------------------------------------------------------------------------------
/Bridge/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 544023920
--------------------------------------------------------------------------------
/Bridge/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/exercise.jpg
--------------------------------------------------------------------------------
/Bridge/obj/Debug/Bridge.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Bridge\obj\Debug\Bridge.csprojResolveAssemblyReference.cache
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Bridge\bin\Debug\Bridge.exe.config
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Bridge\bin\Debug\Bridge.exe
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Bridge\bin\Debug\Bridge.pdb
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Bridge\bin\Debug\Autofac.dll
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Bridge\bin\Debug\Autofac.xml
7 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Bridge\obj\Debug\Bridge.exe
8 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Bridge\obj\Debug\Bridge.pdb
9 |
--------------------------------------------------------------------------------
/Bridge/obj/Debug/Bridge.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/obj/Debug/Bridge.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Bridge/obj/Debug/Bridge.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/obj/Debug/Bridge.exe
--------------------------------------------------------------------------------
/Bridge/obj/Debug/Bridge.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/obj/Debug/Bridge.pdb
--------------------------------------------------------------------------------
/Bridge/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 4abe6419b82c1c19267e6d7d27e05a57a859951b
2 |
--------------------------------------------------------------------------------
/Bridge/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Bridge/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Bridge/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Bridge/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Bridge/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Bridge/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Builder/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Builder/Builder.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Builder/CodeBuilder.cs:
--------------------------------------------------------------------------------
1 | /*
2 | * A builder is a separate component for builing an object
3 | * Can either give builder a constructor or return it via a static function
4 | * To make builder fluent, return this (AddChild Thing nested on the same element)
5 | * Different facets of an object can be built with different builders working in tandem (conjunto) via a base class
6 | * Facets are methods or a particular behavior of an object like (object home, home.At(), home.InCountry()
7 | */
8 | namespace Builder
9 | {
10 | public class CodeBuilder
11 | {
12 | private readonly string classname;
13 | ClassAttribute root = new ClassAttribute();
14 |
15 | public CodeBuilder(string classname)
16 | {
17 | this.classname = classname;
18 | root.ClassName = classname;
19 | }
20 |
21 | public CodeBuilder AddField(string name, string type)
22 | {
23 | var e = new ClassAttribute(name, type);
24 | root.Attributes.Add(e);
25 | return this;
26 | }
27 |
28 | public override string ToString()
29 | {
30 | return root.ToString();
31 | }
32 |
33 | public void Clear()
34 | {
35 | root = new ClassAttribute { ClassName = classname };
36 | }
37 | }
38 | }
39 |
40 |
--------------------------------------------------------------------------------
/Builder/Exercise.cs:
--------------------------------------------------------------------------------
1 | using static System.Console;
2 |
3 | /*
4 | * A builder is a separate component for builing an object
5 | * Can either give builder a constructor or return it via a static function
6 | * To make builder fluent, return this (AddChild Thing nested on the same element)
7 | * Different facets of an object can be built with different builders working in tandem (conjunto) via a base class
8 | * Facets are methods or a particular behavior of an object like (object home, home.At(), home.InCountry()
9 | */
10 | namespace Builder
11 | {
12 | public class Exercise
13 | {
14 | static void Main(string[] args)
15 | {
16 | var cb = new CodeBuilder("Person").AddField("Name", "string").AddField("Age", "int");
17 | WriteLine(cb);
18 | ReadKey();
19 | }
20 | }
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/Builder/bin/Debug/Builder.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/bin/Debug/Builder.exe
--------------------------------------------------------------------------------
/Builder/bin/Debug/Builder.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Builder/bin/Debug/Builder.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/bin/Debug/Builder.pdb
--------------------------------------------------------------------------------
/Builder/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Builder/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/exercise.jpg
--------------------------------------------------------------------------------
/Builder/obj/Debug/Builder.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Builder\bin\Debug\Builder.exe.config
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Builder\bin\Debug\Builder.exe
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Builder\bin\Debug\Builder.pdb
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Builder\obj\Debug\Builder.csprojResolveAssemblyReference.cache
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Builder\obj\Debug\Builder.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Builder\obj\Debug\Builder.pdb
7 |
--------------------------------------------------------------------------------
/Builder/obj/Debug/Builder.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/obj/Debug/Builder.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Builder/obj/Debug/Builder.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/obj/Debug/Builder.exe
--------------------------------------------------------------------------------
/Builder/obj/Debug/Builder.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/obj/Debug/Builder.pdb
--------------------------------------------------------------------------------
/Builder/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | bf1fb6b2c6cd183352b07b5519aa7b29c317e8b5
2 |
--------------------------------------------------------------------------------
/Builder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Builder/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Builder/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Builder/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Builder/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Builder/obj/Release/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 992cb56ebad65c5fd976d86426076c438e651349
2 |
--------------------------------------------------------------------------------
/Chain Of Responsibility/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Chain Of Responsibility/Chain Of Responsibility.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Chain Of Responsibility/bin/Debug/Chain Of Responsibility.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/bin/Debug/Chain Of Responsibility.exe
--------------------------------------------------------------------------------
/Chain Of Responsibility/bin/Debug/Chain Of Responsibility.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Chain Of Responsibility/bin/Debug/Chain Of Responsibility.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/bin/Debug/Chain Of Responsibility.pdb
--------------------------------------------------------------------------------
/Chain Of Responsibility/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Chain Of Responsibility/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/exercise.jpg
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/Chain Of Responsibility.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Chain Of Responsibility\obj\Debug\Chain Of Responsibility.csprojResolveAssemblyReference.cache
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Chain Of Responsibility\bin\Debug\Chain Of Responsibility.exe.config
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Chain Of Responsibility\bin\Debug\Chain Of Responsibility.exe
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Chain Of Responsibility\bin\Debug\Chain Of Responsibility.pdb
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Chain Of Responsibility\obj\Debug\Chain Of Responsibility.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Chain Of Responsibility\obj\Debug\Chain Of Responsibility.pdb
7 |
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/Chain Of Responsibility.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/obj/Debug/Chain Of Responsibility.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/Chain Of Responsibility.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/obj/Debug/Chain Of Responsibility.exe
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/Chain Of Responsibility.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/obj/Debug/Chain Of Responsibility.pdb
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | cba7621d52cbedeb20cb95ed0aa7ed35458e41ee
2 |
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Chain Of Responsibility/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Chain Of Responsibility/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Command/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Command/Command.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Command/bin/Debug/Command.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/bin/Debug/Command.exe
--------------------------------------------------------------------------------
/Command/bin/Debug/Command.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Command/bin/Debug/Command.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/bin/Debug/Command.pdb
--------------------------------------------------------------------------------
/Command/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Command/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/exercise.jpg
--------------------------------------------------------------------------------
/Command/obj/Debug/Command.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Command\bin\Debug\Command.exe.config
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Command\bin\Debug\Command.exe
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Command\bin\Debug\Command.pdb
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Command\obj\Debug\Command.csprojResolveAssemblyReference.cache
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Command\obj\Debug\Command.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Command\obj\Debug\Command.pdb
7 |
--------------------------------------------------------------------------------
/Command/obj/Debug/Command.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/obj/Debug/Command.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Command/obj/Debug/Command.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/obj/Debug/Command.exe
--------------------------------------------------------------------------------
/Command/obj/Debug/Command.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/obj/Debug/Command.pdb
--------------------------------------------------------------------------------
/Command/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 6e06f7d6ace62a6fd74a25f8373e71db8670caaa
2 |
--------------------------------------------------------------------------------
/Command/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Command/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Command/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Command/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Command/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Composite/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Composite/Composite.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Composite/bin/Debug/Composite.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/bin/Debug/Composite.exe
--------------------------------------------------------------------------------
/Composite/bin/Debug/Composite.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Composite/bin/Debug/Composite.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/bin/Debug/Composite.pdb
--------------------------------------------------------------------------------
/Composite/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Composite/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/exercise.jpg
--------------------------------------------------------------------------------
/Composite/obj/Debug/Composite.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Composite\bin\Debug\Composite.exe.config
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Composite\bin\Debug\Composite.exe
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Composite\bin\Debug\Composite.pdb
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Composite\obj\Debug\Composite.exe
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Composite\obj\Debug\Composite.pdb
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Composite\obj\Debug\Composite.csprojResolveAssemblyReference.cache
7 |
--------------------------------------------------------------------------------
/Composite/obj/Debug/Composite.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/obj/Debug/Composite.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Composite/obj/Debug/Composite.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/obj/Debug/Composite.exe
--------------------------------------------------------------------------------
/Composite/obj/Debug/Composite.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/obj/Debug/Composite.pdb
--------------------------------------------------------------------------------
/Composite/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 45f5883680b5ac653b1b496526271f0a95ff17d4
2 |
--------------------------------------------------------------------------------
/Composite/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Composite/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Composite/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Composite/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Composite/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Decorator/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Decorator/Decorator.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Decorator/MultipleInheritance.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace DotNetDesignPatternDemos.Structural.Decorator
8 | {
9 | public class Bird
10 | {
11 | public void Fly()
12 | {
13 |
14 | }
15 | }
16 |
17 | public class Lizard
18 | {
19 | public void Crawl()
20 | {
21 |
22 | }
23 | }
24 |
25 | public class Dragon // no multiple inheritance
26 | {
27 | private Bird bird;
28 | private Lizard lizard;
29 |
30 | public Dragon(Bird bird, Lizard lizard)
31 | {
32 | this.bird = bird ?? throw new ArgumentNullException(paramName: nameof(bird));
33 | this.lizard = lizard ?? throw new ArgumentNullException(paramName: nameof(lizard));
34 | }
35 |
36 | public void Crawl()
37 | {
38 | lizard.Crawl();
39 | }
40 |
41 | public void Fly()
42 | {
43 | bird.Fly();
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/Decorator/bin/Debug/Decorator.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/bin/Debug/Decorator.exe
--------------------------------------------------------------------------------
/Decorator/bin/Debug/Decorator.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Decorator/bin/Debug/Decorator.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/bin/Debug/Decorator.pdb
--------------------------------------------------------------------------------
/Decorator/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Decorator/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/exercise.jpg
--------------------------------------------------------------------------------
/Decorator/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | efb5ab091e00797bb7509970c1e3c285102cfaa2
2 |
--------------------------------------------------------------------------------
/Decorator/obj/Debug/Decorator.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Decorator\bin\Debug\Decorator.exe.config
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Decorator\bin\Debug\Decorator.exe
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Decorator\bin\Debug\Decorator.pdb
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Decorator\obj\Debug\Decorator.csprojResolveAssemblyReference.cache
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Decorator\obj\Debug\Decorator.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Decorator\obj\Debug\Decorator.pdb
7 |
--------------------------------------------------------------------------------
/Decorator/obj/Debug/Decorator.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/obj/Debug/Decorator.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Decorator/obj/Debug/Decorator.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/obj/Debug/Decorator.exe
--------------------------------------------------------------------------------
/Decorator/obj/Debug/Decorator.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/obj/Debug/Decorator.pdb
--------------------------------------------------------------------------------
/Decorator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Decorator/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Decorator/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Decorator/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Decorator/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Factory/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Factory/Exercise.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Factory
4 | {
5 | ///
6 | /// A factory method is a static method that create objects
7 | /// A factory can take care of object creation
8 | /// A factory can be external or reside inside the object as an inner class
9 | /// Hierarchies of factoreies can be used to create related objects
10 | ///
11 | public class Exercise
12 | {
13 | static void Main(string[] args)
14 | {
15 | var person = Person.PersonFactory.CreatePerson("Bills");
16 | var person2 = Person.PersonFactory.CreatePerson("Bills2");
17 | var person3 = Person.PersonFactory.CreatePerson("Bills3");
18 | Console.WriteLine(person);
19 | Console.WriteLine(person2);
20 | Console.WriteLine(person3);
21 | Console.ReadKey();
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/Factory/Factory.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Factory/Person.cs:
--------------------------------------------------------------------------------
1 | namespace Factory
2 | {
3 | public class Person
4 | {
5 | public int Id { get; set; }
6 | public string Name { get; set; }
7 |
8 | public static class PersonFactory
9 | {
10 | public static int ContPerson = 0;
11 |
12 | public static Person CreatePerson(string name)
13 | {
14 | Person person = new Person(name);
15 | ContPerson++;
16 |
17 | return person;
18 | }
19 | }
20 |
21 | private Person (string name)
22 | {
23 | this.Name = name;
24 | this.Id = PersonFactory.ContPerson;
25 | }
26 |
27 | public override string ToString()
28 | {
29 | return $"{nameof(Id)}: {Id}, {nameof(Name)}: {Name}";
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Factory/bin/Debug/Factory.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/bin/Debug/Factory.exe
--------------------------------------------------------------------------------
/Factory/bin/Debug/Factory.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Factory/bin/Debug/Factory.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/bin/Debug/Factory.pdb
--------------------------------------------------------------------------------
/Factory/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Factory/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/exercise.jpg
--------------------------------------------------------------------------------
/Factory/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | ebd384022484abea0eb0592d8e4940c5c9f61c12
2 |
--------------------------------------------------------------------------------
/Factory/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Factory/obj/Debug/Factory.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Factory\bin\Debug\Factory.exe.config
2 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Factory\bin\Debug\Factory.exe
3 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Factory\bin\Debug\Factory.pdb
4 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Factory\obj\Debug\Factory.csprojResolveAssemblyReference.cache
5 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Factory\obj\Debug\Factory.exe
6 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Factory\obj\Debug\Factory.pdb
7 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Factory\obj\Debug\Factory.csprojResolveAssemblyReference.cache
8 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Factory\obj\Debug\Factory.exe
9 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Factory\obj\Debug\Factory.pdb
10 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Factory\bin\Debug\Factory.exe.config
11 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Factory\bin\Debug\Factory.exe
12 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Factory\bin\Debug\Factory.pdb
13 |
--------------------------------------------------------------------------------
/Factory/obj/Debug/Factory.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/obj/Debug/Factory.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Factory/obj/Debug/Factory.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/obj/Debug/Factory.exe
--------------------------------------------------------------------------------
/Factory/obj/Debug/Factory.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/obj/Debug/Factory.pdb
--------------------------------------------------------------------------------
/Factory/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Factory/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Factory/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Factory/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Factory/obj/Release/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 322fe3d2d11ac32ab67f60100040af7d935ffdd8
2 |
--------------------------------------------------------------------------------
/Façade/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Façade/Cadin.cs:
--------------------------------------------------------------------------------
1 |
2 | using System;
3 | ///
4 | /// Provides a simple, easy to understand/user interface over a large and sophisticated body of code
5 | /// Build a Façade to provide a simplified API over a set of classes
6 | /// May wish to (optionally) expose internals through the façade
7 | /// May allow users to escalate to use more complex APIs if they need to
8 | ///
9 | namespace Façade
10 | {
11 | public class Cadin
12 | {
13 | public bool EstaNoCadin(Cliente cliente)
14 | {
15 | Console.WriteLine("Verificando o CADIN para o cliente " + cliente.Nome);
16 | return false;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Façade/Cliente.cs:
--------------------------------------------------------------------------------
1 | ///
2 | /// Provides a simple, easy to understand/user interface over a large and sophisticated body of code
3 | /// Build a Façade to provide a simplified API over a set of classes
4 | /// May wish to (optionally) expose internals through the façade
5 | /// May allow users to escalate to use more complex APIs if they need to
6 | ///
7 | namespace Façade
8 | {
9 | public class Cliente
10 | {
11 | public string Nome { get; set; }
12 | public Cliente(string nome)
13 | {
14 | Nome = nome;
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Façade/LimiteCredito.cs:
--------------------------------------------------------------------------------
1 |
2 | using System;
3 | ///
4 | /// Provides a simple, easy to understand/user interface over a large and sophisticated body of code
5 | /// Build a Façade to provide a simplified API over a set of classes
6 | /// May wish to (optionally) expose internals through the façade
7 | /// May allow users to escalate to use more complex APIs if they need to
8 | ///
9 | namespace Façade
10 | {
11 | public class LimiteCredito
12 | {
13 | public bool PossuiLimiteCredito(Cliente cliente, double valor)
14 | {
15 | Console.WriteLine("Verificando o limite de crédito do cliente " + cliente.Nome);
16 | if (valor > 200000.00)
17 | return false;
18 | else
19 | return true;
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Façade/Program.cs:
--------------------------------------------------------------------------------
1 |
2 | using System;
3 | ///
4 | /// Provides a simple, easy to understand/user interface over a large and sophisticated body of code
5 | /// Build a Façade to provide a simplified API over a set of classes
6 | /// May wish to (optionally) expose internals through the façade
7 | /// May allow users to escalate to use more complex APIs if they need to
8 | ///
9 | namespace Façade
10 | {
11 | class Program
12 | {
13 | static void Main(string[] args)
14 | {
15 | // Cria uma instância do Facade
16 | Facade concedeCredito = new Facade();
17 |
18 | // Cria uma instância de um novo Cliente informando o nome
19 | Cliente cliente1 = new Cliente("Macoratti");
20 |
21 | //Utiliza o Facade para verificar condições de concessão ou não
22 | bool resultado = concedeCredito.ConcederEmprestimo(cliente1, 199000.00);
23 |
24 | //exibe o resultado
25 | Console.WriteLine("O empréstimo pleiteado pelo cliente " + cliente1.Nome + " foi " + (resultado ? "Aprovado" : "Negado"));
26 |
27 | //aguarda
28 | Console.ReadKey();
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Façade/Serasa.cs:
--------------------------------------------------------------------------------
1 |
2 | using System;
3 | ///
4 | /// Provides a simple, easy to understand/user interface over a large and sophisticated body of code
5 | /// Build a Façade to provide a simplified API over a set of classes
6 | /// May wish to (optionally) expose internals through the façade
7 | /// May allow users to escalate to use more complex APIs if they need to
8 | ///
9 | namespace Façade
10 | {
11 | public class Serasa
12 | {
13 | public bool EstaNoSerasa(Cliente cliente)
14 | {
15 | Console.WriteLine("Verificando SERASA do cliente " + cliente.Nome);
16 | return false;
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Façade/bin/Debug/Façade.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/bin/Debug/Façade.exe
--------------------------------------------------------------------------------
/Façade/bin/Debug/Façade.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Façade/bin/Debug/Façade.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/bin/Debug/Façade.pdb
--------------------------------------------------------------------------------
/Façade/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Façade/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 0260a1a6a6b9a0941b317531f9799f1852255199
2 |
--------------------------------------------------------------------------------
/Façade/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Façade/obj/Debug/Façade.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Façade\bin\Debug\Façade.exe.config
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Façade\bin\Debug\Façade.exe
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Façade\bin\Debug\Façade.pdb
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Façade\obj\Debug\Façade.csprojResolveAssemblyReference.cache
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Façade\obj\Debug\Façade.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Façade\obj\Debug\Façade.pdb
7 |
--------------------------------------------------------------------------------
/Façade/obj/Debug/Façade.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/obj/Debug/Façade.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Façade/obj/Debug/Façade.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/obj/Debug/Façade.exe
--------------------------------------------------------------------------------
/Façade/obj/Debug/Façade.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/obj/Debug/Façade.pdb
--------------------------------------------------------------------------------
/Façade/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Façade/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Façade/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Façade/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Flyweight/.vs/Flyweight/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/.vs/Flyweight/v15/.suo
--------------------------------------------------------------------------------
/Flyweight/.vs/VSWorkspaceState.json:
--------------------------------------------------------------------------------
1 | {
2 | "ExpandedNodes": [
3 | ""
4 | ],
5 | "PreviewInSolutionExplorer": false
6 | }
--------------------------------------------------------------------------------
/Flyweight/.vs/slnx.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/.vs/slnx.sqlite
--------------------------------------------------------------------------------
/Flyweight/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Flyweight/Flyweight.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Flyweight/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // General Information about an assembly is controlled through the following
5 | // set of attributes. Change these attribute values to modify the information
6 | // associated with an assembly.
7 | [assembly: AssemblyTitle("Flyweight")]
8 | [assembly: AssemblyDescription("")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("")]
11 | [assembly: AssemblyProduct("Flyweight")]
12 | [assembly: AssemblyCopyright("Copyright © 2017")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // Setting ComVisible to false makes the types in this assembly not visible
17 | // to COM components. If you need to access a type in this assembly from
18 | // COM, set the ComVisible attribute to true on that type.
19 | [assembly: ComVisible(false)]
20 |
21 | // The following GUID is for the ID of the typelib if this project is exposed to COM
22 | [assembly: Guid("a4f130c4-e526-4fc5-b6dd-2cb0e0ed2147")]
23 |
24 | // Version information for an assembly consists of the following four values:
25 | //
26 | // Major Version
27 | // Minor Version
28 | // Build Number
29 | // Revision
30 | //
31 | // You can specify all the values or you can default the Build and Revision Numbers
32 | // by using the '*' as shown below:
33 | // [assembly: AssemblyVersion("1.0.*")]
34 | [assembly: AssemblyVersion("1.0.0.0")]
35 | [assembly: AssemblyFileVersion("1.0.0.0")]
36 |
--------------------------------------------------------------------------------
/Flyweight/bin/Debug/Flyweight.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/bin/Debug/Flyweight.exe
--------------------------------------------------------------------------------
/Flyweight/bin/Debug/Flyweight.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Flyweight/bin/Debug/Flyweight.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/bin/Debug/Flyweight.pdb
--------------------------------------------------------------------------------
/Flyweight/bin/Debug/JetBrains.Profiler.Windows.Api.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/bin/Debug/JetBrains.Profiler.Windows.Api.dll
--------------------------------------------------------------------------------
/Flyweight/bin/Debug/nunit.framework.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/bin/Debug/nunit.framework.dll
--------------------------------------------------------------------------------
/Flyweight/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Flyweight/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/exercise.jpg
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 0062a7e2281756bcded14d0445aeaf5d6509ca72
2 |
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/Flyweight.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Flyweight\bin\Debug\Flyweight.exe.config
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Flyweight\bin\Debug\Flyweight.exe
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Flyweight\bin\Debug\Flyweight.pdb
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Flyweight\bin\Debug\nunit.framework.dll
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Flyweight\bin\Debug\nunit.framework.xml
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Flyweight\obj\Debug\Flyweight.exe
7 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Flyweight\obj\Debug\Flyweight.pdb
8 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Flyweight\obj\Debug\Flyweight.csprojResolveAssemblyReference.cache
9 |
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/Flyweight.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/obj/Debug/Flyweight.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/Flyweight.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/obj/Debug/Flyweight.exe
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/Flyweight.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/obj/Debug/Flyweight.pdb
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Flyweight/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Flyweight/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Flyweight/obj/Release/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 722238d2ca703cab74ce35cb6e364213f2e32b97
2 |
--------------------------------------------------------------------------------
/Flyweight/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/Interpreter/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Interpreter/Interpreter.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Interpreter/bin/Debug/Interpreter.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/bin/Debug/Interpreter.exe
--------------------------------------------------------------------------------
/Interpreter/bin/Debug/Interpreter.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Interpreter/bin/Debug/Interpreter.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/bin/Debug/Interpreter.pdb
--------------------------------------------------------------------------------
/Interpreter/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Interpreter/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/exercise.jpg
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | c7bcaea3f02278114e1cda957c268baf4d4d632c
2 |
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/Interop.MSScriptControl.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/Interop.MSScriptControl.dll
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/Interpreter.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Interpreter\obj\Debug\Interpreter.csprojResolveAssemblyReference.cache
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Interpreter\bin\Debug\Interpreter.exe.config
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Interpreter\bin\Debug\Interpreter.exe
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Interpreter\bin\Debug\Interpreter.pdb
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Interpreter\obj\Debug\Interpreter.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Interpreter\obj\Debug\Interpreter.pdb
7 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Interpreter\obj\Debug\Interop.MSScriptControl.dll
8 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Interpreter\obj\Debug\Interpreter.csproj.ResolveComReference.cache
9 |
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/Interpreter.csproj.ResolveComReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/Interpreter.csproj.ResolveComReference.cache
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/Interpreter.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/Interpreter.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/Interpreter.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/Interpreter.exe
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/Interpreter.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/Interpreter.pdb
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Interpreter/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Interpreter/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Iterator/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Iterator/ArrayBackedProperties.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Collections.Generic;
4 | using System.Dynamic;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Windows;
8 | using static System.Console;
9 |
10 | ///
11 | /// Expose stats of a creature in a nice way. There is only the strenght because it is a demo only.
12 | ///
13 | namespace DesignPatterns.ArrayBackedProperties
14 | {
15 | public class Creature : IEnumerable
16 | {
17 | private int[] stats = new int[3];
18 |
19 | private const int strength = 0;
20 |
21 | public int Strength
22 | {
23 | get => stats[strength];
24 | set => stats[strength] = value;
25 | }
26 |
27 | public int Agility { get; set; }
28 | public int Intelligence { get; set; }
29 |
30 | public double AverageStat =>
31 | stats.Average();
32 |
33 | public IEnumerator GetEnumerator()
34 | {
35 | return stats.AsEnumerable().GetEnumerator();
36 | }
37 |
38 | IEnumerator IEnumerable.GetEnumerator()
39 | {
40 | return GetEnumerator();
41 | }
42 |
43 | public int this[int index]
44 | {
45 | get { return stats[index]; }
46 | set { stats[index] = value; }
47 | }
48 | }
49 |
50 | public class Demo
51 | {
52 | //static void Main(string[] args)
53 | //{
54 | //}
55 | }
56 | }
--------------------------------------------------------------------------------
/Iterator/Iterator.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Iterator/bin/Debug/Iterator.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/bin/Debug/Iterator.exe
--------------------------------------------------------------------------------
/Iterator/bin/Debug/Iterator.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Iterator/bin/Debug/Iterator.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/bin/Debug/Iterator.pdb
--------------------------------------------------------------------------------
/Iterator/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 544023920
--------------------------------------------------------------------------------
/Iterator/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/exercise.jpg
--------------------------------------------------------------------------------
/Iterator/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 9317c8538b4a8d7757343bc0a0370135ee2c2d34
2 |
--------------------------------------------------------------------------------
/Iterator/obj/Debug/DesignTimeResolveAssemblyReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/obj/Debug/DesignTimeResolveAssemblyReferences.cache
--------------------------------------------------------------------------------
/Iterator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Iterator/obj/Debug/Iterator.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Iterator\obj\Debug\Iterator.csprojResolveAssemblyReference.cache
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Iterator\bin\Debug\Iterator.exe.config
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Iterator\bin\Debug\Iterator.exe
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Iterator\bin\Debug\Iterator.pdb
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Iterator\obj\Debug\Iterator.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Iterator\obj\Debug\Iterator.pdb
7 |
--------------------------------------------------------------------------------
/Iterator/obj/Debug/Iterator.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/obj/Debug/Iterator.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Iterator/obj/Debug/Iterator.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/obj/Debug/Iterator.exe
--------------------------------------------------------------------------------
/Iterator/obj/Debug/Iterator.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/obj/Debug/Iterator.pdb
--------------------------------------------------------------------------------
/Iterator/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Iterator/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Iterator/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Iterator/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Mediator/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Mediator/Mediator.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Mediator/bin/Debug/Mediator.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/bin/Debug/Mediator.exe
--------------------------------------------------------------------------------
/Mediator/bin/Debug/Mediator.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Mediator/bin/Debug/Mediator.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/bin/Debug/Mediator.pdb
--------------------------------------------------------------------------------
/Mediator/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 544023920
--------------------------------------------------------------------------------
/Mediator/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/exercise.jpg
--------------------------------------------------------------------------------
/Mediator/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | f37b041a29a6285922c514c6ac61e6f12063ec5d
2 |
--------------------------------------------------------------------------------
/Mediator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Mediator/obj/Debug/Mediator.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Mediator\obj\Debug\Mediator.csprojResolveAssemblyReference.cache
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Mediator\bin\Debug\Mediator.exe.config
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Mediator\bin\Debug\Mediator.exe
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Mediator\bin\Debug\Mediator.pdb
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Mediator\obj\Debug\Mediator.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Mediator\obj\Debug\Mediator.pdb
7 |
--------------------------------------------------------------------------------
/Mediator/obj/Debug/Mediator.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/obj/Debug/Mediator.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Mediator/obj/Debug/Mediator.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/obj/Debug/Mediator.exe
--------------------------------------------------------------------------------
/Mediator/obj/Debug/Mediator.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/obj/Debug/Mediator.pdb
--------------------------------------------------------------------------------
/Mediator/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Mediator/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Mediator/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Mediator/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Memento/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Memento/Memento.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectFiles
5 |
6 |
--------------------------------------------------------------------------------
/Memento/bin/Debug/Memento.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/bin/Debug/Memento.exe
--------------------------------------------------------------------------------
/Memento/bin/Debug/Memento.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Memento/bin/Debug/Memento.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/bin/Debug/Memento.pdb
--------------------------------------------------------------------------------
/Memento/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 544023920
--------------------------------------------------------------------------------
/Memento/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/exercise.jpg
--------------------------------------------------------------------------------
/Memento/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 1491ee03b252f4c8ace4109a74045e4d2d3c8c02
2 |
--------------------------------------------------------------------------------
/Memento/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Memento/obj/Debug/Memento.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Memento\bin\Debug\Memento.exe.config
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Memento\bin\Debug\Memento.exe
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Memento\bin\Debug\Memento.pdb
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Memento\obj\Debug\Memento.exe
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Memento\obj\Debug\Memento.pdb
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Memento\obj\Debug\Memento.csprojResolveAssemblyReference.cache
7 |
--------------------------------------------------------------------------------
/Memento/obj/Debug/Memento.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/obj/Debug/Memento.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Memento/obj/Debug/Memento.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/obj/Debug/Memento.exe
--------------------------------------------------------------------------------
/Memento/obj/Debug/Memento.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/obj/Debug/Memento.pdb
--------------------------------------------------------------------------------
/Memento/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Memento/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Memento/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Memento/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Null Object/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Null Object/Null Object.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Null Object/bin/Debug/ImpromptuInterface.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/bin/Debug/ImpromptuInterface.dll
--------------------------------------------------------------------------------
/Null Object/bin/Debug/Null Object.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/bin/Debug/Null Object.exe
--------------------------------------------------------------------------------
/Null Object/bin/Debug/Null Object.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Null Object/bin/Debug/Null Object.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/bin/Debug/Null Object.pdb
--------------------------------------------------------------------------------
/Null Object/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 544023920
--------------------------------------------------------------------------------
/Null Object/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/exercise.jpg
--------------------------------------------------------------------------------
/Null Object/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 190549f9191fa78a006a733905d2e107850e8961
2 |
--------------------------------------------------------------------------------
/Null Object/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Null Object/obj/Debug/Null Object.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Null Object\obj\Debug\Null Object.csprojResolveAssemblyReference.cache
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Null Object\bin\Debug\Null Object.exe.config
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Null Object\bin\Debug\Null Object.exe
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Null Object\bin\Debug\Null Object.pdb
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Null Object\bin\Debug\ImpromptuInterface.dll
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Null Object\bin\Debug\ImpromptuInterface.xml
7 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Null Object\obj\Debug\Null Object.exe
8 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Null Object\obj\Debug\Null Object.pdb
9 |
--------------------------------------------------------------------------------
/Null Object/obj/Debug/Null Object.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/obj/Debug/Null Object.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Null Object/obj/Debug/Null Object.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/obj/Debug/Null Object.exe
--------------------------------------------------------------------------------
/Null Object/obj/Debug/Null Object.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/obj/Debug/Null Object.pdb
--------------------------------------------------------------------------------
/Null Object/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Null Object/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Null Object/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Null Object/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Null Object/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Observer/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Observer/ObserverEvents.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | ///
4 | /// You can use the Observer Pattern when you need to be informed when certain things
5 | /// happen. Like a property change of an object, or when an object does something or when some
6 | /// external events occurs.
7 | /// Built in C# with the 'event' keyword !
8 | ///
9 | namespace DotNetDesignPatternDemos.Behavioral.Observer
10 | {
11 | public class FallsIllEventArgs
12 | {
13 | public string Address;
14 | }
15 |
16 | public class Person
17 | {
18 | public void CatchACold()
19 | {
20 | FallsIll?.Invoke(this,
21 | new FallsIllEventArgs { Address = "123 London Road" });
22 | }
23 |
24 | public event EventHandler FallsIll;
25 | }
26 |
27 | public class Demo
28 | {
29 | //static void Main()
30 | //{
31 | // var person = new Person();
32 |
33 | // person.FallsIll += CallDoctor;
34 |
35 | // person.CatchACold();
36 | //}
37 |
38 | private static void CallDoctor(object sender, FallsIllEventArgs eventArgs)
39 | {
40 | Console.WriteLine($"A doctor has been called to {eventArgs.Address}");
41 | }
42 | }
43 | }
--------------------------------------------------------------------------------
/Observer/bin/Debug/Observer.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/bin/Debug/Observer.exe
--------------------------------------------------------------------------------
/Observer/bin/Debug/Observer.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Observer/bin/Debug/Observer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/bin/Debug/Observer.pdb
--------------------------------------------------------------------------------
/Observer/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 544023920
--------------------------------------------------------------------------------
/Observer/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/exercise.jpg
--------------------------------------------------------------------------------
/Observer/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 937e5255526ac9c8e80bef5877e1bcdeb2e1fc5d
2 |
--------------------------------------------------------------------------------
/Observer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Observer/obj/Debug/Observer.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Observer\obj\Debug\Observer.csprojResolveAssemblyReference.cache
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Observer\bin\Debug\Observer.exe.config
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Observer\bin\Debug\Observer.exe
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Observer\bin\Debug\Observer.pdb
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Observer\obj\Debug\Observer.exe
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Observer\obj\Debug\Observer.pdb
7 |
--------------------------------------------------------------------------------
/Observer/obj/Debug/Observer.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/obj/Debug/Observer.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Observer/obj/Debug/Observer.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/obj/Debug/Observer.exe
--------------------------------------------------------------------------------
/Observer/obj/Debug/Observer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/obj/Debug/Observer.pdb
--------------------------------------------------------------------------------
/Observer/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Observer/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Observer/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Observer/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Prototype/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Prototype/Prototype.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Prototype/bin/Debug/Prototype.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/bin/Debug/Prototype.exe
--------------------------------------------------------------------------------
/Prototype/bin/Debug/Prototype.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Prototype/bin/Debug/Prototype.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/bin/Debug/Prototype.pdb
--------------------------------------------------------------------------------
/Prototype/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Prototype/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/exercise.jpg
--------------------------------------------------------------------------------
/Prototype/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 10a276a4046faf1e96ad7b0fd985fde10a2d5e0f
2 |
--------------------------------------------------------------------------------
/Prototype/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Prototype/obj/Debug/Prototype.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Prototype\bin\Debug\Prototype.exe.config
2 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Prototype\bin\Debug\Prototype.exe
3 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Prototype\bin\Debug\Prototype.pdb
4 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Prototype\obj\Debug\Prototype.exe
5 | C:\Users\rafael.queiroz\Documents\GitHub\Design Patterns\Prototype\obj\Debug\Prototype.pdb
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Prototype\obj\Debug\Prototype.csprojResolveAssemblyReference.cache
7 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Prototype\obj\Debug\Prototype.exe
8 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Prototype\obj\Debug\Prototype.pdb
9 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Prototype\bin\Debug\Prototype.exe.config
10 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Prototype\bin\Debug\Prototype.exe
11 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Prototype\bin\Debug\Prototype.pdb
12 |
--------------------------------------------------------------------------------
/Prototype/obj/Debug/Prototype.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/obj/Debug/Prototype.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Prototype/obj/Debug/Prototype.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/obj/Debug/Prototype.exe
--------------------------------------------------------------------------------
/Prototype/obj/Debug/Prototype.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/obj/Debug/Prototype.pdb
--------------------------------------------------------------------------------
/Prototype/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Prototype/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Prototype/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Prototype/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Prototype/obj/Release/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | ae6092b74ac54ae39d480ea6aeac21adaa94b238
2 |
--------------------------------------------------------------------------------
/Proxy/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Proxy/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Proxy")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Proxy")]
13 | [assembly: AssemblyCopyright("Copyright © 2017")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("f1897504-735d-4724-9600-e3e061d83e16")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/Proxy/Proxy.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ShowAllFiles
5 |
6 |
--------------------------------------------------------------------------------
/Proxy/ProxyProtection.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | using static System.Console;
4 |
5 | namespace DotNetDesignPatternDemos.Structural.Proxy.Protection
6 | {
7 | public interface ICar
8 | {
9 | void Drive();
10 | }
11 |
12 | public class Car : ICar
13 | {
14 | public void Drive()
15 | {
16 | WriteLine("Car being driven");
17 | }
18 | }
19 |
20 | public class CarProxy : ICar
21 | {
22 | private Car car = new Car();
23 | private Driver driver;
24 |
25 | public CarProxy(Driver driver)
26 | {
27 | this.driver = driver;
28 | }
29 |
30 | public void Drive()
31 | {
32 | if (driver.Age >= 16)
33 | car.Drive();
34 | else
35 | {
36 | WriteLine("Driver too young");
37 | }
38 | }
39 | }
40 |
41 | public class Driver
42 | {
43 | public int Age { get; set; }
44 |
45 | public Driver(int age)
46 | {
47 | Age = age;
48 | }
49 | }
50 |
51 | public class Demo
52 | {
53 | //static void Main(string[] args)
54 | //{
55 | // ICar car = new CarProxy(new Driver(12)); // 22
56 | // car.Drive();
57 | //}
58 | }
59 | }
--------------------------------------------------------------------------------
/Proxy/bin/Debug/ImpromptuInterface.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/bin/Debug/ImpromptuInterface.dll
--------------------------------------------------------------------------------
/Proxy/bin/Debug/Proxy.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/bin/Debug/Proxy.exe
--------------------------------------------------------------------------------
/Proxy/bin/Debug/Proxy.exe.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Proxy/bin/Debug/Proxy.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/bin/Debug/Proxy.pdb
--------------------------------------------------------------------------------
/Proxy/bin/Debug/nunit_random_seed.tmp:
--------------------------------------------------------------------------------
1 | 386430866
--------------------------------------------------------------------------------
/Proxy/exercise.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/exercise.jpg
--------------------------------------------------------------------------------
/Proxy/obj/Debug/CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | b155c9b3ac5602ceeebcf0eba4044e4d44f6750d
2 |
--------------------------------------------------------------------------------
/Proxy/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
--------------------------------------------------------------------------------
/Proxy/obj/Debug/Proxy.csproj.FileListAbsolute.txt:
--------------------------------------------------------------------------------
1 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Proxy\obj\Debug\Proxy.csprojResolveAssemblyReference.cache
2 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Proxy\bin\Debug\Proxy.exe.config
3 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Proxy\bin\Debug\Proxy.exe
4 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Proxy\bin\Debug\Proxy.pdb
5 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Proxy\bin\Debug\ImpromptuInterface.dll
6 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Proxy\bin\Debug\ImpromptuInterface.xml
7 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Proxy\obj\Debug\Proxy.exe
8 | C:\Users\rafael.queiroz\Source\Repos\design_patterns_in_ccharp\Proxy\obj\Debug\Proxy.pdb
9 |
--------------------------------------------------------------------------------
/Proxy/obj/Debug/Proxy.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/obj/Debug/Proxy.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Proxy/obj/Debug/Proxy.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/obj/Debug/Proxy.exe
--------------------------------------------------------------------------------
/Proxy/obj/Debug/Proxy.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/obj/Debug/Proxy.pdb
--------------------------------------------------------------------------------
/Proxy/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
--------------------------------------------------------------------------------
/Proxy/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
--------------------------------------------------------------------------------
/Proxy/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rafaelqueiroz89/design_patterns_in_csharp/0fe4ee7caada4a033b2d0ecab3696ce3f0102436/Proxy/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
--------------------------------------------------------------------------------
/Proxy/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Singleton/CreationalSingletonDI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Diagnostics;
3 | using Autofac;
4 | using static System.Console;
5 |
6 | namespace DotNetDesignPatternDemos.Creational.SingletonInDI
7 | {
8 | public class Foo
9 | {
10 | public EventBroker Broker;
11 |
12 | public Foo(EventBroker broker)
13 | {
14 | Broker = broker ?? throw new ArgumentNullException(paramName: nameof(broker));
15 | }
16 | }
17 |
18 | public class EventBroker
19 | {
20 | public int x { get; set; }
21 | public int y { get; set; }
22 | }
23 |
24 | // socially acceptable
25 | public class SingletonDI
26 | {
27 | static void Main()
28 | {
29 | var builder = new ContainerBuilder();
30 | builder.RegisterType().SingleInstance();
31 | builder.RegisterType();
32 |
33 | using (var c = builder.Build())
34 | {
35 | var foo1 = c.Resolve();
36 | foo1.Broker.x = 1;
37 | foo1.Broker.y = 0;
38 | var foo2 = c.Resolve();
39 |
40 | WriteLine(ReferenceEquals(foo1, foo2));
41 | WriteLine(ReferenceEquals(foo1.Broker, foo2.Broker));
42 | }
43 | }
44 | }
45 | }
--------------------------------------------------------------------------------
/Singleton/Exercise.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Singleton
4 | {
5 | ///
6 | /// For some components it only makes sense to have one in the system like a database repository
7 | /// Want to prevent anyone creating additional copies of the object
8 | /// Thread safety, the constructor doesn't execute twice and this avoids race condition.
9 | /// Component instantied just once
10 | ///
11 | /// Singleton is said to be a bad idea because: when singleton is used you might have to use the same object lots of times
12 | ///
13 | ///
14 | class Exercise
15 | {
16 | //this class verifies if a determined object is Singleton or not
17 | public class SingletonTester
18 | {
19 | private static object instance;
20 |
21 | public static bool IsSingleton(Func