├── .vscode ├── launch.json └── tasks.json ├── Builder ├── Car.cs ├── Director.cs ├── IBuilder.cs ├── MotorCycle .cs └── Product.cs ├── DesignPatterns.csproj ├── Factory ├── BankA.cs ├── BankB.cs ├── BankFactory.cs ├── IBank.cs ├── IBankFactory.cs ├── IPaymentCard.cs └── PaymentCardFactory.cs ├── Modern Software Design Patterns 2.pptx ├── Program.cs ├── Prototype ├── Address.cs ├── EmployeePrototype.cs ├── RegEmployee.cs └── TempEmployee.cs ├── Singleton └── Counter.cs ├── StructuralPatterns ├── Adapter │ ├── Employee.cs │ ├── MachineOperator.cs │ ├── SalaryAdapter.cs │ └── SalaryCalculator.cs ├── Decorator │ ├── AbstractDecorator.cs │ └── NotificationEmailDecorator.cs ├── Facade │ ├── BasketItem.cs │ ├── Inventory.cs │ ├── InventoryOrder.cs │ ├── PaymentProcessor.cs │ ├── PurchaseInvoice.cs │ ├── PurchaseOrder.cs │ ├── ShoppingBasket.cs │ └── SmsNotifications.cs ├── Flyweight │ ├── DayDiscountCalc.cs │ ├── DiscountCalcFactory.cs │ ├── IDiscountCalaculator.cs │ └── ItemPriceCalc.cs └── Proxy │ ├── ConcereteSMSService.cs │ ├── SMSService.cs │ └── SMSServiceProxy.cs ├── bin └── Debug │ └── netcoreapp3.1 │ ├── DesignPatterns.deps.json │ ├── DesignPatterns.dll │ ├── DesignPatterns.exe │ ├── DesignPatterns.pdb │ ├── DesignPatterns.runtimeconfig.dev.json │ ├── DesignPatterns.runtimeconfig.json │ └── Newtonsoft.Json.dll └── obj ├── Debug └── netcoreapp3.1 │ ├── .NETCoreApp,Version=v3.1.AssemblyAttributes.cs │ ├── DesignPatterns.AssemblyInfo.cs │ ├── DesignPatterns.AssemblyInfoInputs.cache │ ├── DesignPatterns.assets.cache │ ├── DesignPatterns.csproj.CopyComplete │ ├── DesignPatterns.csproj.CoreCompileInputs.cache │ ├── DesignPatterns.csproj.FileListAbsolute.txt │ ├── DesignPatterns.csprojAssemblyReference.cache │ ├── DesignPatterns.dll │ ├── DesignPatterns.exe │ ├── DesignPatterns.genruntimeconfig.cache │ └── DesignPatterns.pdb ├── DesignPatterns.csproj.nuget.dgspec.json ├── DesignPatterns.csproj.nuget.g.props ├── DesignPatterns.csproj.nuget.g.targets ├── project.assets.json └── project.nuget.cache /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/.vscode/tasks.json -------------------------------------------------------------------------------- /Builder/Car.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Builder/Car.cs -------------------------------------------------------------------------------- /Builder/Director.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Builder/Director.cs -------------------------------------------------------------------------------- /Builder/IBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Builder/IBuilder.cs -------------------------------------------------------------------------------- /Builder/MotorCycle .cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Builder/MotorCycle .cs -------------------------------------------------------------------------------- /Builder/Product.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Builder/Product.cs -------------------------------------------------------------------------------- /DesignPatterns.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/DesignPatterns.csproj -------------------------------------------------------------------------------- /Factory/BankA.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Factory/BankA.cs -------------------------------------------------------------------------------- /Factory/BankB.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Factory/BankB.cs -------------------------------------------------------------------------------- /Factory/BankFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Factory/BankFactory.cs -------------------------------------------------------------------------------- /Factory/IBank.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Factory/IBank.cs -------------------------------------------------------------------------------- /Factory/IBankFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Factory/IBankFactory.cs -------------------------------------------------------------------------------- /Factory/IPaymentCard.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Factory/IPaymentCard.cs -------------------------------------------------------------------------------- /Factory/PaymentCardFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Factory/PaymentCardFactory.cs -------------------------------------------------------------------------------- /Modern Software Design Patterns 2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Modern Software Design Patterns 2.pptx -------------------------------------------------------------------------------- /Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Program.cs -------------------------------------------------------------------------------- /Prototype/Address.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Prototype/Address.cs -------------------------------------------------------------------------------- /Prototype/EmployeePrototype.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Prototype/EmployeePrototype.cs -------------------------------------------------------------------------------- /Prototype/RegEmployee.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Prototype/RegEmployee.cs -------------------------------------------------------------------------------- /Prototype/TempEmployee.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Prototype/TempEmployee.cs -------------------------------------------------------------------------------- /Singleton/Counter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/Singleton/Counter.cs -------------------------------------------------------------------------------- /StructuralPatterns/Adapter/Employee.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Adapter/Employee.cs -------------------------------------------------------------------------------- /StructuralPatterns/Adapter/MachineOperator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Adapter/MachineOperator.cs -------------------------------------------------------------------------------- /StructuralPatterns/Adapter/SalaryAdapter.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Adapter/SalaryAdapter.cs -------------------------------------------------------------------------------- /StructuralPatterns/Adapter/SalaryCalculator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Adapter/SalaryCalculator.cs -------------------------------------------------------------------------------- /StructuralPatterns/Decorator/AbstractDecorator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Decorator/AbstractDecorator.cs -------------------------------------------------------------------------------- /StructuralPatterns/Decorator/NotificationEmailDecorator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Decorator/NotificationEmailDecorator.cs -------------------------------------------------------------------------------- /StructuralPatterns/Facade/BasketItem.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Facade/BasketItem.cs -------------------------------------------------------------------------------- /StructuralPatterns/Facade/Inventory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Facade/Inventory.cs -------------------------------------------------------------------------------- /StructuralPatterns/Facade/InventoryOrder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Facade/InventoryOrder.cs -------------------------------------------------------------------------------- /StructuralPatterns/Facade/PaymentProcessor.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Facade/PaymentProcessor.cs -------------------------------------------------------------------------------- /StructuralPatterns/Facade/PurchaseInvoice.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Facade/PurchaseInvoice.cs -------------------------------------------------------------------------------- /StructuralPatterns/Facade/PurchaseOrder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Facade/PurchaseOrder.cs -------------------------------------------------------------------------------- /StructuralPatterns/Facade/ShoppingBasket.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Facade/ShoppingBasket.cs -------------------------------------------------------------------------------- /StructuralPatterns/Facade/SmsNotifications.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Facade/SmsNotifications.cs -------------------------------------------------------------------------------- /StructuralPatterns/Flyweight/DayDiscountCalc.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Flyweight/DayDiscountCalc.cs -------------------------------------------------------------------------------- /StructuralPatterns/Flyweight/DiscountCalcFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Flyweight/DiscountCalcFactory.cs -------------------------------------------------------------------------------- /StructuralPatterns/Flyweight/IDiscountCalaculator.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Flyweight/IDiscountCalaculator.cs -------------------------------------------------------------------------------- /StructuralPatterns/Flyweight/ItemPriceCalc.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Flyweight/ItemPriceCalc.cs -------------------------------------------------------------------------------- /StructuralPatterns/Proxy/ConcereteSMSService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Proxy/ConcereteSMSService.cs -------------------------------------------------------------------------------- /StructuralPatterns/Proxy/SMSService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Proxy/SMSService.cs -------------------------------------------------------------------------------- /StructuralPatterns/Proxy/SMSServiceProxy.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/StructuralPatterns/Proxy/SMSServiceProxy.cs -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/DesignPatterns.deps.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/bin/Debug/netcoreapp3.1/DesignPatterns.deps.json -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/DesignPatterns.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/bin/Debug/netcoreapp3.1/DesignPatterns.dll -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/DesignPatterns.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/bin/Debug/netcoreapp3.1/DesignPatterns.exe -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/DesignPatterns.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/bin/Debug/netcoreapp3.1/DesignPatterns.pdb -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/DesignPatterns.runtimeconfig.dev.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/bin/Debug/netcoreapp3.1/DesignPatterns.runtimeconfig.dev.json -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/DesignPatterns.runtimeconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/bin/Debug/netcoreapp3.1/DesignPatterns.runtimeconfig.json -------------------------------------------------------------------------------- /bin/Debug/netcoreapp3.1/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/bin/Debug/netcoreapp3.1/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.AssemblyInfo.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/Debug/netcoreapp3.1/DesignPatterns.AssemblyInfo.cs -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.AssemblyInfoInputs.cache: -------------------------------------------------------------------------------- 1 | 807181119eaafba7e0a34ed9743ffe02dcf83b54 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.assets.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/Debug/netcoreapp3.1/DesignPatterns.assets.cache -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.csproj.CopyComplete: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | a8edf612de7587ce00b43e034cc39a8fac516662 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/Debug/netcoreapp3.1/DesignPatterns.csproj.FileListAbsolute.txt -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/Debug/netcoreapp3.1/DesignPatterns.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/Debug/netcoreapp3.1/DesignPatterns.dll -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/Debug/netcoreapp3.1/DesignPatterns.exe -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.genruntimeconfig.cache: -------------------------------------------------------------------------------- 1 | 86c8e15dd33445635927cfaf398408205fd11473 2 | -------------------------------------------------------------------------------- /obj/Debug/netcoreapp3.1/DesignPatterns.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/Debug/netcoreapp3.1/DesignPatterns.pdb -------------------------------------------------------------------------------- /obj/DesignPatterns.csproj.nuget.dgspec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/DesignPatterns.csproj.nuget.dgspec.json -------------------------------------------------------------------------------- /obj/DesignPatterns.csproj.nuget.g.props: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/DesignPatterns.csproj.nuget.g.props -------------------------------------------------------------------------------- /obj/DesignPatterns.csproj.nuget.g.targets: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/DesignPatterns.csproj.nuget.g.targets -------------------------------------------------------------------------------- /obj/project.assets.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/project.assets.json -------------------------------------------------------------------------------- /obj/project.nuget.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Eng-MohammedReda/Design-Patterns/HEAD/obj/project.nuget.cache --------------------------------------------------------------------------------