├── 02_Object_Oriented_Programming ├── 01_Introduction_to_Classes_And_Objects │ └── src │ │ ├── Car.java │ │ └── Main.java ├── 02_Class_Relationships │ └── src │ │ ├── 01_Inheritance │ │ ├── Animal.java │ │ ├── Dog.java │ │ └── InheritanceDemo.java │ │ ├── 02_Association │ │ ├── AssociationDemo.java │ │ ├── Car.java │ │ └── Person.java │ │ ├── 03_Aggregation │ │ ├── AggregationDemo.java │ │ ├── Player.java │ │ └── Team.java │ │ ├── 04_Composition │ │ ├── CompositionDemo.java │ │ ├── House.java │ │ └── Room.java │ │ ├── 05_Dependency │ │ ├── DependencyDemo.java │ │ ├── Document.java │ │ └── Printer.java │ │ └── 06_Realization │ │ ├── CashPayment.java │ │ ├── CreditCardPayment.java │ │ ├── Payment.java │ │ └── RealizationDemo.java ├── 03_Constructor_and_It's_Types │ └── src │ │ ├── 01_Default_Constructor │ │ ├── Main.java │ │ └── Movie.java │ │ ├── 02_Parameterized_Constructor │ │ ├── Main.java │ │ └── Movie.java │ │ ├── 03_Copy_Constructor │ │ ├── Main.java │ │ └── Movie.java │ │ ├── 04_Private_Constructor │ │ ├── Main.java │ │ └── Singleton.java │ │ └── 05_Interview_Questions │ │ ├── 01_Question_2 │ │ └── Main.java │ │ └── 02_Question_6 │ │ ├── Example.java │ │ └── Main.java ├── 04_This_Keyword │ └── src │ │ ├── 01_Reffering_Instance_Object │ │ ├── Main.java │ │ └── Person.java │ │ ├── 02_Constructor_Chaining │ │ ├── Main.java │ │ └── Person.java │ │ ├── 03_Pass_Current_Object │ │ ├── Main.java │ │ └── Person.java │ │ ├── 04_Return_Current_Object │ │ ├── Main.java │ │ └── Person.java │ │ └── 05_Disadvantages │ │ └── 01_Instance_Context │ │ ├── Example.java │ │ └── Main.java ├── 05_Polymorphism_and_It's_types │ └── src │ │ ├── 01_Compile_Time_Polymorphism │ │ ├── 01_Example_1 │ │ │ ├── Main.java │ │ │ └── Vehicle.java │ │ └── 02_Example_2 │ │ │ ├── Main.java │ │ │ └── Vehicle.java │ │ ├── 02_Runtime_Polymorphism │ │ ├── 01_Concrete_Classes │ │ │ ├── Bike.java │ │ │ ├── Car.java │ │ │ └── Truck.java │ │ ├── Main.java │ │ └── Vehicle.java │ │ ├── 03_Advantages │ │ ├── 01_Code_Reusability │ │ │ └── Main.java │ │ ├── 02_Extensibility │ │ │ ├── Bus.java │ │ │ └── Main.java │ │ ├── 03_Flexibility │ │ │ └── Main.java │ │ ├── Bike.java │ │ ├── Car.java │ │ ├── Truck.java │ │ └── Vehicle.java │ │ ├── 04_Disadvantages │ │ ├── 01_Complex_Debugging │ │ │ └── Main.java │ │ ├── 02_Performance_Overhead │ │ │ └── Main.java │ │ ├── Bike.java │ │ ├── Car.java │ │ ├── Truck.java │ │ └── Vehicle.java │ │ └── Main.java ├── 06_Inheritance_and_It's_Types │ └── src │ │ ├── 01_Single_Inheritance │ │ ├── Animal.java │ │ ├── Dog.java │ │ └── Main.java │ │ ├── 02_Multilevel_Inheritance │ │ ├── Animal.java │ │ ├── Dog.java │ │ ├── Main.java │ │ └── Mammal.java │ │ ├── 03_Diamond_Problem │ │ ├── 01_Problem │ │ │ ├── Animal.java │ │ │ ├── Cat.java │ │ │ ├── Dog.java │ │ │ └── Hybrid_Animal.java │ │ └── 02_Solution │ │ │ ├── Cat.java │ │ │ ├── Dog.java │ │ │ └── HybridAnimal.java │ │ ├── 04_Hierarchial_Inheritance │ │ ├── Animal.java │ │ ├── Cat.java │ │ ├── Dog.java │ │ └── Main.java │ │ ├── 05_Hybrid_Inheritance │ │ ├── 01_Interfaces │ │ │ ├── Mammal.java │ │ │ └── Pet.java │ │ ├── Animal.java │ │ ├── Dog.java │ │ └── Main.java │ │ ├── 06_Advantages │ │ ├── 01_Code_Reusability │ │ │ └── Main.java │ │ ├── 02_Ease_Of_Maintenance │ │ │ ├── Cat.java │ │ │ └── Main.java │ │ ├── 03_Extensibility │ │ │ ├── Animal.java │ │ │ ├── Cat.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── 04_Polymorphism │ │ │ ├── Animal.java │ │ │ ├── Cat.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── Animal.java │ │ └── Dog.java │ │ └── 07_Disadvantages │ │ ├── 01_Complexity │ │ ├── Bulldog.java │ │ ├── Main.java │ │ └── Mammal.java │ │ ├── 02_Increased_Coupling │ │ ├── Animal.java │ │ └── Main.java │ │ ├── 03_Reduced_Flexibility │ │ ├── Animal.java │ │ ├── Cat.java │ │ ├── Dog.java │ │ └── Main.java │ │ ├── Animal.java │ │ ├── Cat.java │ │ └── Dog.java ├── 07_Encapsulation │ └── src │ │ ├── 01_Advantages │ │ ├── 01_Ease_Of_Maintenance │ │ │ ├── BankAccount.java │ │ │ └── Main.java │ │ ├── 02_Enhanced_Readability │ │ │ ├── BankAccount.java │ │ │ └── Main.java │ │ ├── 03_Increased_Flexibility │ │ │ ├── BankAccount.java │ │ │ └── Main.java │ │ └── 04_Data_Security │ │ │ ├── BankAccount.java │ │ │ └── Main.java │ │ ├── 02_Disadvantages │ │ ├── 01_Complexity │ │ │ ├── BankAccount.java │ │ │ └── Main.java │ │ └── 02_Increased_Overhead │ │ │ ├── BankAccount.java │ │ │ └── Main.java │ │ ├── BankAccount.java │ │ └── Main.java ├── 08_Abstraction │ └── src │ │ ├── 01_Problem │ │ ├── Cat.java │ │ ├── Dog.java │ │ └── Main.java │ │ ├── 02_Achieve_Abstraction │ │ ├── 01_Abstract_Classes │ │ │ ├── 01_Advantages │ │ │ │ ├── 01_Code_Reusability │ │ │ │ │ └── Main.java │ │ │ │ ├── 02_Enhanced_Flexibility │ │ │ │ │ └── Main.java │ │ │ │ ├── 03_Improved_Code_Maintainability │ │ │ │ │ └── Main.java │ │ │ │ └── 04_Increased_Security │ │ │ │ │ └── Main.java │ │ │ ├── 02_Disadvantages │ │ │ │ ├── 01_Complexity │ │ │ │ │ ├── 01_Bad_Design │ │ │ │ │ │ ├── Animal.java │ │ │ │ │ │ └── Dog.java │ │ │ │ │ └── 02_Good_Design │ │ │ │ │ │ ├── Animal.java │ │ │ │ │ │ ├── Dog.java │ │ │ │ │ │ ├── Flyable.java │ │ │ │ │ │ └── Swimmable.java │ │ │ │ └── 02_Overhead │ │ │ │ │ ├── Animal.java │ │ │ │ │ ├── Cat.java │ │ │ │ │ ├── Dog.java │ │ │ │ │ └── Main.java │ │ │ ├── Animal.java │ │ │ ├── Cat.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ └── 02_Interface │ │ │ ├── Animal.java │ │ │ ├── Cat.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── 03_Interview_Questions │ │ ├── 01_Question_1 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ ├── Main.java │ │ │ └── Pet.java │ │ ├── 02_Question_2 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ ├── Main.java │ │ │ └── Pet.java │ │ ├── 03_Question_3 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── 04_Question_4 │ │ │ ├── 01_Abstract_Class_Example │ │ │ │ ├── Animal.java │ │ │ │ ├── Dog.java │ │ │ │ └── Mammal.java │ │ │ └── 02_Interface_Example │ │ │ │ ├── Animal.java │ │ │ │ ├── Dog.java │ │ │ │ ├── Main.java │ │ │ │ └── Pet.java │ │ ├── 05_Question_5 │ │ │ ├── Animal.java │ │ │ ├── Cat.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── 06_Question_6 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── 07_Question_7 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── 08_Question_8 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ ├── Main.java │ │ │ └── Mammal.java │ │ ├── 09_Question_9 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── 10_Question_10 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ ├── Main.java │ │ │ └── Mammal.java │ │ ├── 11_Question_11 │ │ │ ├── AnimalProcessor.java │ │ │ ├── CatBehavior.java │ │ │ ├── DogBehavior.java │ │ │ └── Main.java │ │ ├── 12_Question_12 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ ├── 13_Question_13 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ └── Main.java │ │ └── 14_Question_14 │ │ │ ├── Animal.java │ │ │ ├── Dog.java │ │ │ ├── Main.java │ │ │ └── Playable.java │ │ └── Main.java ├── 09_Access_Modifiers │ └── src │ │ ├── 01_demo_Package │ │ └── DemoClass.java │ │ └── 02_utility_Classes │ │ ├── DefaultClassExample.java │ │ ├── PrivateClassExample.java │ │ ├── ProtectedClassExample.java │ │ └── PublicClassExample.java └── 10_Generics_and_Wildcards │ └── src │ ├── 01_Generics │ ├── 01_Examples │ │ ├── 01_Generic_Method │ │ │ └── Test.java │ │ └── 02_Generic_Class │ │ │ ├── Main.java │ │ │ └── Test.java │ └── 02_Advantages │ │ ├── 01_Code_Reusability │ │ └── GenericReusability.java │ │ ├── 02_Eliminates_Type_Casting │ │ ├── 01_Problem │ │ │ └── Test.java │ │ ├── 02_Solution │ │ │ └── Test.java │ │ └── MyArrayList.java │ │ ├── 03_Readability_Maintainability │ │ └── MyArrayList.java │ │ └── 04_Type_Safety │ │ ├── Main.java │ │ └── Test.java │ ├── 02_WildCards │ ├── 01_Example │ │ └── WildcardExample.java │ └── 02_Wildcard_Types │ │ ├── LowerBoundedWildcardExample.java │ │ ├── UnboundedWildcardExample.java │ │ └── UpperBoundedWildcardExample.java │ └── 03_Generics_Vs_Wildcards │ ├── 01_Generic_Over_Wildcards │ ├── 01_Type_Consistency │ │ ├── ListUtils.java │ │ ├── Main.java │ │ └── Person.java │ ├── 02_Collection_Example │ │ └── Main.java │ └── 03_Specific_Return_Type │ │ └── Main.java │ └── 02_Wildcards_Over_Generics │ └── 01_Read_Collection │ └── Main.java ├── 03_Design_Principles ├── 01_Solid_Principle │ ├── 01_Single_Responsibility_Principle │ │ ├── 01_Ugly_Code │ │ │ └── BreadBaker.java │ │ └── 02_Good_Code │ │ │ ├── Bakery.java │ │ │ ├── BakeryCleaner.java │ │ │ ├── BreadBaker.java │ │ │ ├── CustomerService.java │ │ │ ├── InventoryManager.java │ │ │ └── SupplyOrder.java │ ├── 02_Open_Closed_Principle │ │ ├── 01_Ugly_Code │ │ │ └── Shape.java │ │ └── 02_Good_Code │ │ │ ├── 01_Concrete_Shapes │ │ │ ├── Circle.java │ │ │ ├── Rectangle.java │ │ │ └── Triangle.java │ │ │ └── Shape.java │ ├── 03_Liskov_Substitution_Principle │ │ ├── 01_Ugly_Code │ │ │ ├── 01_Concrete_Vehicles │ │ │ │ ├── Bicycle.java │ │ │ │ └── Car.java │ │ │ ├── Main.java │ │ │ └── Vehicle.java │ │ └── 02_Good_Code │ │ │ ├── 01_Concrete_Vehicles │ │ │ ├── Bicycle.java │ │ │ └── Car.java │ │ │ ├── EngineVehicle.java │ │ │ ├── Main.java │ │ │ ├── NonEngineVehicle.java │ │ │ └── Vehicle.java │ ├── 04_Interface_Segregation_Principle │ │ ├── 01_Ugly_Code │ │ │ ├── 01_Concrete_Printers │ │ │ │ ├── AllInOnePrinter.java │ │ │ │ └── BasicPrinter.java │ │ │ └── Machine.java │ │ └── 02_Good_Code │ │ │ ├── 01_Interfaces │ │ │ ├── FaxMachine.java │ │ │ ├── Printer.java │ │ │ └── Scanner.java │ │ │ └── 02_Concrete_Printers │ │ │ ├── AllInOnePrinter.java │ │ │ └── BasicPrinter.java │ └── 05_Dependency_Inversion_Principle │ │ ├── 01_Ugly_Code │ │ ├── DatabaseLogger.java │ │ ├── EmailNotifier.java │ │ ├── InventorySystem.java │ │ ├── Order.java │ │ └── OrderService.java │ │ └── 02_Good_Code │ │ ├── 01_Interfaces │ │ ├── InventoryService.java │ │ ├── LoggingService.java │ │ └── NotificationService.java │ │ ├── 02_Core_Classes │ │ ├── Order.java │ │ └── Product.java │ │ ├── 03_Concrete_Notifiers │ │ ├── EmailNotifier.java │ │ ├── PushNotifier.java │ │ └── SMSNotifier.java │ │ ├── 04_Concrete_Loggers │ │ └── DatabaseLogger.java │ │ ├── 05_Concrete_Inventories │ │ └── WarehouseInventoryService.java │ │ ├── Main.java │ │ └── OrderService.java ├── 02_DRY_Principle │ └── 01_Examples │ │ ├── 01_Number_Swapper │ │ ├── Main.java │ │ └── NumberSwapper.java │ │ ├── 02_Object_Oriented_Principles │ │ ├── 01_Ugly_Code │ │ │ ├── CancelButton.java │ │ │ ├── Main.java │ │ │ └── SubmitButton.java │ │ └── 02_Good_Code │ │ │ ├── 01_Concrete_Buttons │ │ │ ├── CancelButton.java │ │ │ └── SubmitButton.java │ │ │ ├── Button.java │ │ │ └── Main.java │ │ └── 03_Configuration_Files │ │ ├── 01_Ugly_Code │ │ └── Main.java │ │ └── 02_Good_Code │ │ ├── Config.java │ │ └── Main.java ├── 03_KISS_Principle │ ├── 01_Ugly_Code │ │ ├── 01_Factorial_Example │ │ │ └── FactorialCalculator.java │ │ └── 02_Order_Processor_Example │ │ │ ├── Item.java │ │ │ └── OrderProcessor.java │ └── 02_Good_Code │ │ ├── 01_Factorial_Example │ │ └── FactorialCalculator.java │ │ └── 02_Order_Processor_Example │ │ ├── Item.java │ │ └── OrderProcessor.java └── 04_YAGNI_Principle │ ├── 01_Ugly_Code │ ├── Main.java │ └── PaymentProcessor.java │ └── 02_Good_Code │ ├── Main.java │ └── PaymentProcessor.java ├── 04_Creational_Design_Patterns ├── 01_Factory_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── 01_Concrete_Vehicles │ │ │ ├── Bike.java │ │ │ ├── Car.java │ │ │ └── Truck.java │ │ ├── Main.java │ │ └── Vehicle.java │ │ └── 02_Good_Code │ │ ├── 01_Concrete_Vehicles │ │ ├── Bike.java │ │ ├── Car.java │ │ └── Truck.java │ │ ├── Main.java │ │ ├── Vehicle.java │ │ └── VehicleFactory.java ├── 02_Abstract_Factory_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── 01_Concrete_Car_Brands │ │ │ ├── BMW.java │ │ │ ├── Honda.java │ │ │ └── Toyota.java │ │ ├── CarFactory.java │ │ ├── Main.java │ │ └── Vehicle.java │ │ └── 02_Good_Code │ │ ├── 01_Interfaces │ │ ├── Vehicle.java │ │ └── VehicleFactory.java │ │ ├── 02_Concrete_Car_Brands │ │ ├── BMW.java │ │ ├── Honda.java │ │ └── Toyota.java │ │ ├── 03_Concrete_Factories │ │ ├── BMWFactory.java │ │ ├── HondaFactory.java │ │ └── ToyotaFactory.java │ │ └── Main.java ├── 03_Builder_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── Car.java │ │ └── Main.java │ │ └── 02_Good_Code │ │ ├── Car.java │ │ └── Main.java ├── 04_Singleton_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── Application.java │ │ ├── Logger.java │ │ └── UserService.java │ │ └── 02_Good_Code │ │ ├── 01_Thread_Safe_Logger │ │ └── Logger.java │ │ ├── Application.java │ │ └── Logger.java └── 05_Prototype_Design_Pattern │ └── src │ ├── 01_Ugly_Code │ ├── Character.java │ ├── CharacterFactory.java │ └── src │ │ ├── 01_Ugly_Code │ │ ├── Car.java │ │ └── Main.java │ │ └── 02_Good_Code │ │ ├── Car.java │ │ └── Main.java │ └── 02_Good_Code │ ├── Character.java │ └── CharacterFactory.java ├── 05_Behavioural_Design_Patterns ├── 01_Strategy_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── 01_Concrete_Payment_Methods │ │ │ ├── CreditCardPayment.java │ │ │ ├── CryptoPayment.java │ │ │ ├── PayPalPayment.java │ │ │ └── StripePayment.java │ │ ├── PaymentMethod.java │ │ └── PaymentProcessor.java │ │ └── 02_Good_Code │ │ ├── 01_Concrete_Payment_Methods │ │ ├── CreditCardPayment.java │ │ ├── CryptoPayment.java │ │ ├── PayPalPayment.java │ │ └── StripePayment.java │ │ ├── Main.java │ │ ├── PaymentProcessor.java │ │ └── PaymentStrategy.java ├── 02_Observer_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── YouTubeChannel.java │ │ └── YouTubeSubscriber.java │ │ └── 02_Good_Code │ │ ├── 01_Interfaces │ │ ├── Subscriber.java │ │ └── YouTubeChannel.java │ │ ├── 02_Concrete_Subscribers │ │ ├── EmailSubscriber.java │ │ ├── PushNotificationSubscriber.java │ │ └── YouTubeSubscriber.java │ │ ├── Main.java │ │ └── YouTubeChannelImpl.java ├── 03_Iterator_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ └── Playlist.java │ │ └── 02_Good_Code │ │ ├── 01_Concrete_Iterators │ │ ├── FavoritesPlaylistIterator.java │ │ ├── ShuffledPlaylistIterator.java │ │ └── SimplePlaylistIterator.java │ │ ├── Main.java │ │ ├── Playlist.java │ │ └── PlaylistIterator.java ├── 04_Command_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── RemoteControl.java │ │ └── TV.java │ │ └── 02_Good_Code │ │ ├── 01_Concrete_Commands │ │ ├── AdjustVolumeCommand.java │ │ ├── ChangeChannelCommand.java │ │ ├── TurnOffCommand.java │ │ └── TurnOnCommand.java │ │ ├── 02_Core_Classes │ │ ├── RemoteControl.java │ │ └── TV.java │ │ ├── Command.java │ │ └── Main.java ├── 05_Mediator_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── AuctionUglyDemo.java │ │ └── Bidder.java │ │ └── 02_Good_Code │ │ ├── 01_Core_Classes │ │ ├── AuctionHouse.java │ │ └── Bidder.java │ │ ├── 02_Extended_Auction_House │ │ ├── ExtendedAuctionHouse.java │ │ └── ExtendedAuctionMediatorDemo.java │ │ ├── AuctionMedaitorDemo.java │ │ └── AuctionMediator.java ├── 06_State_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── TrafficLight.java │ │ └── TrafficLightTest.java │ │ └── 02_Good_Code │ │ ├── 01_Concrete_States │ │ ├── BlinkingState.java │ │ ├── GreenState.java │ │ ├── MaintenanceState.java │ │ ├── RedState.java │ │ └── YellowState.java │ │ ├── TrafficLightContext.java │ │ ├── TrafficLightState.java │ │ └── TrafficLightTest.java ├── 07_Template_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── 01_Concrete_Beverages │ │ │ ├── Coffee.java │ │ │ └── Tea.java │ │ └── TraditionalBeverageDemo.java │ │ └── 02_Good_Code │ │ ├── 01_Beverage_Without_Hook │ │ ├── 01_Concrete_Beverages │ │ │ ├── CoffeeBeverage.java │ │ │ └── TeaBeverage.java │ │ ├── Beverage.java │ │ └── BeverageTemplateDemo.java │ │ └── 02_Beverage_With_Hook │ │ ├── 01_Concrete_Beverage_With_Hook │ │ └── CustomCoffee.java │ │ ├── BeverageWithHook.java │ │ └── BeverageWithHookDemo.java ├── 08_Chain_Of_Responsibility_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ └── LeaveRequestUgly.java │ │ └── 02_Good_Code │ │ ├── 01_Concrete_Approvers │ │ ├── Director.java │ │ ├── HR.java │ │ ├── Manager.java │ │ └── Supervisor.java │ │ ├── Approver.java │ │ └── LeaveRequestChainDemo.java ├── 09_Visitor_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── 01_Concrete_Patients │ │ │ ├── AdultPatient.java │ │ │ ├── ChildPatient.java │ │ │ └── SeniorPatient.java │ │ └── HospitalTraditional.java │ │ └── 02_Good_Code │ │ ├── 01_Interfaces │ │ ├── Patient.java │ │ └── Visitor.java │ │ ├── 02_Concrete_Visitors │ │ ├── BillingVisitor.java │ │ └── DiagnosisVisitor.java │ │ ├── 03_Concrete_Patients │ │ ├── AdultPatient.java │ │ ├── ChildPatient.java │ │ └── SeniorPatient.java │ │ └── HospitalVisitorDemo.java └── 10_Memento_Design_Pattern │ └── src │ ├── 01_Ugly_Code │ ├── TextEditorTraditional.java │ ├── TextEditorUgly.java │ └── TraditionalEditorDemo.java │ └── 02_Good_Code │ ├── EditorHistory.java │ ├── Memento.java │ ├── MementoPatternDemo.java │ └── TextEditor.java ├── 06_Structural_Design_Patterns ├── 01_Adapter_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ └── SmartHomeController.java │ │ └── 02_Correct_Code │ │ ├── 01_Concrete_Devices │ │ ├── AirConditioner.java │ │ ├── CoffeeMachine.java │ │ └── SmartLight.java │ │ ├── 02_Concrete_Adapters │ │ ├── AirConditionerAdapter.java │ │ ├── CoffeeMachineAdapter.java │ │ └── SmartLightAdapter.java │ │ ├── 03_Client_Code │ │ └── SmartHomeController.java │ │ └── SmartDevice.java ├── 02_Composite_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── AirConditioner.java │ │ ├── SmartHomeController.java │ │ └── SmartLight.java │ │ └── 02_Correct_Code │ │ ├── 01_Concerete_Devices │ │ ├── AirConditioner.java │ │ └── SmartLight.java │ │ ├── 02_Composite_Class │ │ └── CompositeSmartComponent.java │ │ ├── 03_Client_Code │ │ └── SmartHomeController.java │ │ └── SmartComponent.java ├── 03_Facade_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── ImageViewer.java │ │ ├── MultimediaApp.java │ │ ├── MusicPlayer.java │ │ └── VideoPlayer.java │ │ └── 02_Correct_Code │ │ ├── 01_Concrete_Devices │ │ ├── ImageViewer.java │ │ ├── MusicPlayer.java │ │ └── VideoPlayer.java │ │ ├── 02_Media_Facade │ │ └── MediaFacade.java │ │ └── 03_Client_Code │ │ └── MultimediaApp.java ├── 04_Decorator_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ └── CoffeeShop.java │ │ └── 02_Correct_Code │ │ ├── 01_Concrete_Coffee_Types │ │ ├── Cappuccino.java │ │ └── Espresso.java │ │ ├── 02_Coffee_Decorator │ │ ├── CoffeeDecorator.java │ │ └── ConcreteDecorators │ │ │ ├── MilkDecorator.java │ │ │ ├── SugarDecorator.java │ │ │ └── VanillaDecorator.java │ │ ├── 03_Client_Code │ │ └── CoffeeShop.java │ │ └── Coffee.java ├── 05_Bridge_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── ConcreteShapes │ │ │ ├── Circle.java │ │ │ └── Rectangle.java │ │ ├── DrawingApp.java │ │ └── Shape.java │ │ └── 02_Correct_Code │ │ ├── 01_Concrete_Rendering_Methods │ │ ├── RasterRenderer.java │ │ └── VectorRenderer.java │ │ ├── 02_Concrete_Shapes │ │ ├── Circle.java │ │ └── Rectangle.java │ │ ├── 03_Client_Code │ │ └── DrawingApp.java │ │ ├── Renderer.java │ │ └── Shape.java ├── 06_Proxy_Design_Pattern │ └── src │ │ ├── 01_Ugly_Code │ │ ├── Client_Code.java │ │ └── VideoService.java │ │ └── 02_Correct_Code │ │ ├── 01_Concrete_Video_Services │ │ └── RealVideoService.java │ │ ├── 02_Client_Code │ │ └── Main.java │ │ ├── ProxyVideoService.java │ │ └── VideoServiceInterface.java └── 07_Flyweight_Design_Pattern │ └── src │ ├── 01_Ugly_Code │ ├── Game.java │ ├── Particle.java │ └── ParticleSystem.java │ └── 02_Correct_Code │ ├── Game.java │ ├── Particle.java │ ├── ParticleType.java │ └── ParticleTypeFactory.java ├── 07_LLD_Interview_Problems ├── 01_Design_Tic_Tac_Toe │ └── src │ │ ├── CommonEnum │ │ └── Symbol.java │ │ ├── Controller │ │ ├── BoardGames.java │ │ └── GameController │ │ │ └── TicTacToeGame.java │ │ ├── GameStateHandler │ │ ├── ConcreteStates │ │ │ ├── OTurnState.java │ │ │ ├── OWonState.java │ │ │ ├── XTurnState.java │ │ │ └── XWonState.java │ │ ├── Context │ │ │ └── GameContext.java │ │ └── GameState.java │ │ ├── Main.java │ │ ├── PlayerStrategies │ │ ├── ConcreteStrategies │ │ │ └── HumanPlayerStrategy.java │ │ └── PlayerStrategy.java │ │ └── Utility │ │ ├── Board.java │ │ ├── Player.java │ │ └── Position.java ├── 02_Design_Chess_Game │ └── src │ │ ├── CommonEnums │ │ └── Status.java │ │ ├── Controller │ │ ├── BoardGames.java │ │ └── ConcreteGames │ │ │ └── ChessGame.java │ │ ├── Main.java │ │ ├── MovementStrategyPattern │ │ ├── ConcreteMovementStrategies │ │ │ ├── BishopMovementStrategy.java │ │ │ ├── KingMovementStrategy.java │ │ │ ├── KnightMovementStrategy.java │ │ │ ├── PawnMovementStrategy.java │ │ │ ├── QueenMovementStrategy.java │ │ │ └── RookMovementStrategy.java │ │ └── MovementStrategy.java │ │ ├── PieceFactoryPackage │ │ ├── ConcretePieces │ │ │ ├── Bishop.java │ │ │ ├── King.java │ │ │ ├── Knight.java │ │ │ ├── Pawn.java │ │ │ ├── Queen.java │ │ │ └── Rook.java │ │ ├── Piece.java │ │ └── PieceFactory.java │ │ └── UtilityClasses │ │ ├── Board.java │ │ ├── Cell.java │ │ ├── Move.java │ │ └── Player.java ├── 03_Design_Snake_and_Food_Game │ └── src │ │ ├── Controller │ │ └── SnakeGame.java │ │ ├── FoodItemFactory │ │ ├── ConcreteFoodItems │ │ │ ├── BonusFood.java │ │ │ └── NormalFood.java │ │ ├── FoodFactory.java │ │ └── FoodItem.java │ │ ├── Main.java │ │ ├── MovementStrategyPackage │ │ ├── ConcreteMovementStrategies │ │ │ ├── AIMovementStrategy.java │ │ │ └── HumanMovementStrategy.java │ │ └── MovementStrategy.java │ │ └── UtilityClasses │ │ ├── GameBoard.java │ │ ├── Pair.java │ │ └── Snake.java ├── 04_Design_Parking_Lot │ └── src │ │ ├── CommonEnum │ │ └── DurationType.java │ │ ├── FareStrategyPattern │ │ ├── ConcreteStrategies │ │ │ ├── BasicHourlyRateStrategy.java │ │ │ └── PremiumRateStrategy.java │ │ └── ParkingFeeStrategy.java │ │ ├── Main.java │ │ ├── ParkingLotController │ │ └── ParkingLot.java │ │ ├── ParkingSpots │ │ ├── ConcreteParkingSpots │ │ │ ├── BikeParkingSpot.java │ │ │ └── CarParkingSpot.java │ │ └── ParkingSpot.java │ │ ├── PaymentStrategyPattern │ │ ├── ConcretePaymentStrategies │ │ │ ├── CashPayment.java │ │ │ └── CreditCardPayment.java │ │ ├── Payment.java │ │ └── PaymentStrategy.java │ │ └── VehicleFactoryPattern │ │ ├── ConcreteVehicles │ │ ├── BikeVehicle.java │ │ ├── CarVehicle.java │ │ └── OtherVehicle.java │ │ ├── Vehicle.java │ │ └── VehicleFactory.java ├── 05_Design_Elevator_System │ └── src │ │ ├── CommandPatternIMP │ │ ├── ConcreteClasses │ │ │ └── ElevatorRequest.java │ │ └── ElevatorCommand.java │ │ ├── CommonEnums │ │ ├── Direction.java │ │ └── ElevatorState.java │ │ ├── Main.java │ │ ├── ObserverPatternIMP │ │ ├── ElevatorDisplay.java │ │ └── ElevatorObserver.java │ │ ├── SchedulingAlgoStrategyPattern │ │ ├── ConcreteStrategies │ │ │ ├── FCFSSchedulingStrategy.java │ │ │ ├── LookSchedulingStrategy.java │ │ │ └── ScanSchedulingStrategy.java │ │ └── SchedulingStrategy.java │ │ └── UtilityClasses │ │ ├── Building.java │ │ ├── Elevator.java │ │ ├── ElevatorController.java │ │ └── Floor.java ├── 06_Design_Inventory_Management_System │ └── src │ │ ├── CommonEnum │ │ ├── InventoryOperation.java │ │ └── ProductCategory.java │ │ ├── InventoryStockManager │ │ └── InventoryManager.java │ │ ├── Main.java │ │ ├── ProductReplenishmentStrategies │ │ ├── ConcreteReplenishmentStrategies │ │ │ ├── BulkOrderStrategy.java │ │ │ └── JustInTimeStrategy.java │ │ └── ReplenishmentStrategy.java │ │ ├── ProductsFactory │ │ ├── ConcreteProducts │ │ │ ├── ClothingProduct.java │ │ │ ├── ElectronicsProduct.java │ │ │ └── GroceryProduct.java │ │ ├── Product.java │ │ └── ProductFactory.java │ │ └── UtilityClasses │ │ └── Warehouse.java ├── 07_Design Car rental │ └── src │ │ ├── CommonEnums │ │ ├── ReservationEnums │ │ │ └── ReservationStatus.java │ │ └── VehicleEnums │ │ │ ├── VehicleStatus.java │ │ │ └── VehicleType.java │ │ ├── Main.java │ │ ├── MainRentalSystem │ │ └── RentalSystem.java │ │ ├── UtiltiyClasses │ │ ├── Location.java │ │ ├── RentalStore.java │ │ ├── Reservation.java │ │ ├── ReservationManager.java │ │ └── User.java │ │ ├── VehicleFactoryPattern │ │ ├── ConcreteVehicles │ │ │ ├── EconomyVehicle.java │ │ │ ├── LuxuryVehicle.java │ │ │ └── SUVVehicle.java │ │ ├── Vehicle.java │ │ └── VehicleFactory.java │ │ └── paymentStrategyPattern │ │ ├── ConcretePaymentStrategies │ │ ├── CashPayment.java │ │ ├── CreditCardPayment.java │ │ └── PaypalPayment.java │ │ ├── PaymentProcessor.java │ │ └── PaymentStrategy.java ├── 08_Design_Vending_Machine │ └── src │ │ ├── CommonEnums │ │ ├── Coin.java │ │ └── ItemType.java │ │ ├── Main.java │ │ ├── UtilityClasses │ │ ├── Inventory.java │ │ ├── Item.java │ │ └── ItemShelf.java │ │ └── VendingMachineStates │ │ ├── ConcreteStates │ │ ├── DispenseState.java │ │ ├── HasMoneyState.java │ │ ├── IdleState.java │ │ ├── OutOfStockState.java │ │ └── SelectionState.java │ │ ├── VendingMachineContext.java │ │ └── VendingMachineState.java ├── 09_Design File System │ └── src │ │ ├── CompositePattern │ │ ├── ConcreteImplementations │ │ │ ├── Directory.java │ │ │ └── File.java │ │ └── FileSystemNode.java │ │ ├── CoreClasses │ │ └── FileSystem.java │ │ └── Main.java ├── 10_Design_Logging_System │ └── src │ │ ├── CORPattern │ │ ├── ConcreteLogHandlers │ │ │ ├── DebugLogger.java │ │ │ ├── ErrorLogger.java │ │ │ └── InfoLogger.java │ │ └── LogHandler.java │ │ ├── CommonEnum │ │ └── LogLevel.java │ │ ├── LogAppenderStrategies │ │ ├── ConcreteLogAppenders │ │ │ ├── ConsoleAppender.java │ │ │ └── FileAppender.java │ │ └── LogAppender.java │ │ ├── LoggerControllers │ │ ├── Logger.java │ │ └── LoggerConfig.java │ │ ├── Main.java │ │ └── UtilityClasses │ │ └── LogMessage.java ├── 11_Design_Splitwise │ └── src │ │ ├── Algorithm │ │ └── BalanceSheet.java │ │ ├── Main.java │ │ ├── ObserverPatternImp │ │ ├── Classes │ │ │ └── ExpenseManager.java │ │ └── Interfaces │ │ │ ├── ExpenseObserver.java │ │ │ └── ExpenseSubject.java │ │ ├── SplitTypeFactoryPattern │ │ ├── ConcreteSplitClasses │ │ │ ├── EqualSplit.java │ │ │ └── PercentageSplit.java │ │ ├── Split.java │ │ └── SplitFactory.java │ │ └── UtilityClasses │ │ ├── Expense.java │ │ ├── Transaction.java │ │ ├── User.java │ │ └── UserPair.java └── 12_Design_ATM_Machine │ └── src │ ├── CommonEnum │ ├── CashType.java │ └── TransactionType.java │ ├── Main.java │ ├── StatePattern │ ├── ATMContext │ │ └── ATMMachineContext.java │ ├── ATMFactory │ │ └── ATMStateFactory.java │ ├── ATMState.java │ └── ConcreteATMState │ │ ├── HasCardState.java │ │ ├── IdleState.java │ │ ├── SelectOperationState.java │ │ └── TransactionState.java │ └── UtilityClasses │ ├── ATMInventory.java │ ├── Account.java │ └── Card.java ├── 08_Concurrency_Theory_Codes ├── 01_Threads_Thread_class_and_Runnable_Interface │ └── src │ │ ├── 01_Thread_Creation │ │ ├── 01_Thread_Class │ │ │ ├── MyThread.java │ │ │ └── ThreadExample.java │ │ ├── 02_Runnable_Interface │ │ │ ├── MyRunnable.java │ │ │ └── RunnableExample.java │ │ └── 03_Callable_Interface │ │ │ ├── CallableExample.java │ │ │ └── MyCallable.java │ │ └── 02_Interview_Questions │ │ ├── 01_Question_1 │ │ ├── Example.java │ │ └── MyThread.java │ │ ├── 02_Question_2 │ │ └── TestThread.java │ │ ├── 03_Question_4 │ │ ├── Main.java │ │ └── MyThread.java │ │ ├── 04_Question_5 │ │ ├── SleepExample │ │ │ └── SleepExample.java │ │ └── WaitExample │ │ │ ├── SharedResource.java │ │ │ └── WaitNotifyExample.java │ │ └── 05_Question_7 │ │ └── MyRunnable.java ├── 02_Thread_pool_and_Thread_Lifecycle │ └── src │ │ ├── 01_Restaurant_Order_Simulation │ │ ├── ChefThread.java │ │ ├── RestaurantSimulation.java │ │ └── WaiterThread.java │ │ ├── 02_Thread_Pools │ │ ├── 01_Example │ │ │ ├── ThreadPoolExample.java │ │ │ └── WorkerThread.java │ │ └── 02_Usages │ │ │ ├── CPUIntensiveExample.java │ │ │ └── IOBoundExample.java │ │ ├── 03_Thread_Pool_Life_Cycle │ │ ├── Task.java │ │ └── ThreadPoolLifecycleDemo.java │ │ ├── 04_Thread_Lifecycle_Management │ │ ├── 01_Thread_Interruption_Example │ │ │ ├── ThreadInterruptionExample.java │ │ │ └── WorkerThread.java │ │ └── 02_Thread_Leak_Example │ │ │ ├── SafeLock.java │ │ │ └── ThreadLeakExample.java │ │ └── 05_Interview_Questions │ │ ├── 01_Question_2 │ │ └── ThreadPoolQueueExample.java │ │ ├── 02_Question_3 │ │ └── ShutdownExample.java │ │ ├── 03_Question_4 │ │ ├── Main.java │ │ └── MyThread.java │ │ └── 04_Question_5 │ │ └── ThreadStarvationExample.java ├── 03_Thread_Executors │ └── src │ │ └── 01_Interview_Questions │ │ ├── 01_Question_1 │ │ └── Question_1.java │ │ └── 02_Question_5 │ │ └── Question_5.java ├── 04_Thread_Synchronization │ └── src │ │ └── 01_Thread_Synchronization_Methods │ │ ├── 01_Synchronized_Method │ │ └── CounterSyncMethod.java │ │ ├── 02_Synchronized_Block │ │ └── CounterSyncBlock.java │ │ ├── 03_Volatile_Keyword │ │ └── VolatileExample.java │ │ └── 04_Atomic_Variables │ │ └── AtomicCounterExample.java ├── 05_Thread_Communication │ └── src │ │ ├── 01_Wait_Notify_Example │ │ ├── Main.java │ │ └── WaitNotifyDemo.java │ │ └── 02_Interview_Questions │ │ ├── 01_Question_1 │ │ └── ProducerConsumer.java │ │ └── 02_Question_2 │ │ └── ThreadInterruption.java ├── 06_Locks_and_Types_of_Locks │ └── src │ │ └── 01_Types_Of_Locks │ │ ├── ReadWriteLockExample.java │ │ ├── ReentrantLockExecutorExample.java │ │ └── ReentrantLockTryLockExample.java ├── 07_Semaphore │ └── src │ │ ├── 01_Types_Of_Sempahore │ │ ├── BinarySemaphoreExample.java │ │ └── CountingSemaphoreExample.java │ │ └── 02_Interview_Questions │ │ ├── 01_Question_1 │ │ └── SemaphoreVsLockExample.java │ │ ├── 02_Question_2 │ │ └── SemaphoreReleaseExample.java │ │ ├── 03_Question_3 │ │ └── SemaphoreBarrierExecutorDemo.java │ │ └── 04_Question_4 │ │ └── ReaderWriterLock.java ├── 08_Java_Concurrent_Collections │ └── src │ │ └── 01_Examples │ │ ├── 01_Concurrent_HashMap │ │ └── MapExample.java │ │ ├── 02_CopyOnWrite_ArrayList │ │ └── ListExample.java │ │ ├── 03_Queue_Example │ │ └── QueueComparison.java │ │ └── 04_Blocking_Queues │ │ ├── BlockingQueueDemo.java │ │ └── NonBlockingExample.java └── 09_Future_and_Completable_Future │ └── src │ ├── 01_Future_Examples │ ├── 01_Basic_Examples │ │ └── FutureExample.java │ └── 02_Result_Retrieval_Example │ │ └── FutureResultExample.java │ └── 02_Completable_Future_Examples │ ├── 01_Basic_Example │ └── CompletableFutureExample.java │ ├── 02_Completable_Future_Creation │ └── CompletableFutureCreation.java │ ├── 03_Thread_Usage_Example │ └── CompletableFutureThreadUsageExample.java │ ├── 04_Combination_Example │ └── CompletableFutureCombination.java │ ├── 05_Exception_Handling │ └── CompletableFutureExceptionHandling.java │ └── 06_Timeout_Example │ └── CompletableFutureTimeout.java ├── 09_Concurreny_Interview_Problems ├── 01_Print_Zero_Even_odd │ └── src │ │ ├── Main.java │ │ └── ZeroEvenOdd.java ├── 02_Fizz_Buzz_Multithreaded │ └── src │ │ ├── FizzBuzz.java │ │ └── Main.java ├── 03_Design_Bounded_Blocking_Queue │ └── src │ │ ├── BoundedBlockingQueue.java │ │ └── Main.java ├── 04_The_Dining_Philosophers │ └── src │ │ ├── DiningPhilosophers.java │ │ └── Main.java └── 05_Design_Multithreaded_Web_Crawler │ └── src │ ├── HtmlParser.java │ ├── Main.java │ ├── MockHtmlParser.java │ └── WebCrawler.java ├── 10_LLD_Concurrency_Interview_Problems ├── 01_Design_Movie_Ticket_Booking_System │ └── src │ │ ├── CommonEnum │ │ ├── BookingStatus.java │ │ └── SeatCategory.java │ │ ├── ConcreteLockProviders │ │ └── SeatLockProvider.java │ │ ├── ConcretePaymentStrategies │ │ ├── DebitCardStrategy.java │ │ └── UpiStrategy.java │ │ ├── Controllers │ │ ├── BookingController.java │ │ ├── MovieController.java │ │ ├── PaymentController.java │ │ ├── ShowController.java │ │ └── TheatreController.java │ │ ├── CoreClasses │ │ ├── Booking.java │ │ ├── Movie.java │ │ ├── Screen.java │ │ ├── Seat.java │ │ ├── SeatLock.java │ │ ├── Show.java │ │ ├── Theatre.java │ │ └── User.java │ │ ├── Interfaces │ │ ├── ISeatLockProvider.java │ │ └── PaymentStrategy.java │ │ ├── Main.java │ │ └── Services │ │ ├── BookingService.java │ │ ├── MovieService.java │ │ ├── PaymentService.java │ │ ├── SeatAvailabilityService.java │ │ ├── ShowService.java │ │ └── TheatreService.java ├── 02_Design_Pub_Sub_Model_Kafka │ └── src │ │ ├── Controller │ │ ├── KafkaController.java │ │ ├── TopicPublisherController.java │ │ └── TopicSubscriberController.java │ │ ├── Main.java │ │ ├── Publisher │ │ ├── ConcretePublisher │ │ │ └── SimplePublisher.java │ │ └── IPublisher.java │ │ ├── Subscriber │ │ ├── ConcreteSubscriber │ │ │ └── SimpleSubscriber.java │ │ └── ISubscriber.java │ │ └── model │ │ ├── Message.java │ │ ├── Topic.java │ │ ├── TopicPublisher.java │ │ └── TopicSubscriber.java ├── 03_Design_Cache_System │ └── src │ │ ├── EvictionAlgorithms │ │ ├── ConcreteEvictionAlgorithms │ │ │ └── LRUEvictionAlgorithm.java │ │ └── EvictionAlgorithm.java │ │ ├── Executors │ │ └── KeyBasedExecutor.java │ │ ├── Main.java │ │ ├── MainCache │ │ └── Cache.java │ │ ├── StorageMechanisms │ │ ├── ConcreteStorages │ │ │ ├── ConcreteCacheStorages │ │ │ │ └── InMemoryCacheStorage.java │ │ │ └── ConcreteDBStorages │ │ │ │ └── SimpleDBStorage.java │ │ └── Interfaces │ │ │ ├── CacheStorage.java │ │ │ └── DBStorage.java │ │ ├── UtilityClasses │ │ ├── DoublyLinkedList.java │ │ └── DoublyLinkedListNode.java │ │ └── WritePolicies │ │ ├── ConcreteWritePolicies │ │ └── WriteThroughPolicy.java │ │ └── WritePolicy.java ├── 04_Design_Rate_Limiter │ └── src │ │ ├── Algorithms │ │ ├── IRateLimiter.java │ │ └── TokenBucketStrategy.java │ │ ├── CommonEnums │ │ └── RateLimiterType.java │ │ ├── Controller │ │ └── RateLimiterController.java │ │ ├── Main.java │ │ └── factory │ │ └── RateLimiterFactory.java └── notes.txt └── README.md /02_Object_Oriented_Programming/01_Introduction_to_Classes_And_Objects/src/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/01_Introduction_to_Classes_And_Objects/src/Car.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/01_Introduction_to_Classes_And_Objects/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/01_Introduction_to_Classes_And_Objects/src/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/01_Inheritance/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/01_Inheritance/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/01_Inheritance/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/01_Inheritance/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/01_Inheritance/InheritanceDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/01_Inheritance/InheritanceDemo.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/02_Association/AssociationDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/02_Association/AssociationDemo.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/02_Association/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/02_Association/Car.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/02_Association/Person.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/02_Association/Person.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/03_Aggregation/AggregationDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/03_Aggregation/AggregationDemo.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/03_Aggregation/Player.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/03_Aggregation/Player.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/03_Aggregation/Team.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/03_Aggregation/Team.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/04_Composition/CompositionDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/04_Composition/CompositionDemo.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/04_Composition/House.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/04_Composition/House.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/04_Composition/Room.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/04_Composition/Room.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/05_Dependency/DependencyDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/05_Dependency/DependencyDemo.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/05_Dependency/Document.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/05_Dependency/Document.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/05_Dependency/Printer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/05_Dependency/Printer.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/06_Realization/CashPayment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/06_Realization/CashPayment.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/06_Realization/CreditCardPayment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/06_Realization/CreditCardPayment.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/06_Realization/Payment.java: -------------------------------------------------------------------------------- 1 | package Realization; 2 | 3 | public interface Payment { 4 | void pay(); 5 | } 6 | -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/02_Class_Relationships/src/06_Realization/RealizationDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/02_Class_Relationships/src/06_Realization/RealizationDemo.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/01_Default_Constructor/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/01_Default_Constructor/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/01_Default_Constructor/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/01_Default_Constructor/Movie.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/02_Parameterized_Constructor/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/02_Parameterized_Constructor/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/02_Parameterized_Constructor/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/02_Parameterized_Constructor/Movie.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/03_Copy_Constructor/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/03_Copy_Constructor/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/03_Copy_Constructor/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/03_Copy_Constructor/Movie.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/04_Private_Constructor/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/04_Private_Constructor/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/04_Private_Constructor/Singleton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/04_Private_Constructor/Singleton.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/05_Interview_Questions/01_Question_2/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/05_Interview_Questions/01_Question_2/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/05_Interview_Questions/02_Question_6/Example.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/05_Interview_Questions/02_Question_6/Example.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/05_Interview_Questions/02_Question_6/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/03_Constructor_and_It's_Types/src/05_Interview_Questions/02_Question_6/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/01_Reffering_Instance_Object/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/01_Reffering_Instance_Object/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/01_Reffering_Instance_Object/Person.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/01_Reffering_Instance_Object/Person.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/02_Constructor_Chaining/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/02_Constructor_Chaining/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/02_Constructor_Chaining/Person.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/02_Constructor_Chaining/Person.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/03_Pass_Current_Object/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/03_Pass_Current_Object/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/03_Pass_Current_Object/Person.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/03_Pass_Current_Object/Person.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/04_Return_Current_Object/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/04_Return_Current_Object/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/04_Return_Current_Object/Person.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/04_Return_Current_Object/Person.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/05_Disadvantages/01_Instance_Context/Example.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/05_Disadvantages/01_Instance_Context/Example.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/04_This_Keyword/src/05_Disadvantages/01_Instance_Context/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/04_This_Keyword/src/05_Disadvantages/01_Instance_Context/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/02_Runtime_Polymorphism/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/02_Runtime_Polymorphism/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/02_Runtime_Polymorphism/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/02_Runtime_Polymorphism/Vehicle.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/01_Code_Reusability/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/01_Code_Reusability/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/02_Extensibility/Bus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/02_Extensibility/Bus.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/02_Extensibility/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/02_Extensibility/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/03_Flexibility/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/03_Flexibility/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/Bike.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/Bike.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/Car.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/Truck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/Truck.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/03_Advantages/Vehicle.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/01_Complex_Debugging/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/01_Complex_Debugging/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/Bike.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/Bike.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/Car.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/Truck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/Truck.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/04_Disadvantages/Vehicle.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/05_Polymorphism_and_It's_types/src/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/01_Single_Inheritance/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/01_Single_Inheritance/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/01_Single_Inheritance/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/01_Single_Inheritance/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/01_Single_Inheritance/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/01_Single_Inheritance/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/02_Multilevel_Inheritance/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/02_Multilevel_Inheritance/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/02_Multilevel_Inheritance/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/02_Multilevel_Inheritance/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/02_Multilevel_Inheritance/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/02_Multilevel_Inheritance/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/02_Multilevel_Inheritance/Mammal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/02_Multilevel_Inheritance/Mammal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/01_Problem/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/01_Problem/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/01_Problem/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/01_Problem/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/01_Problem/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/01_Problem/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/01_Problem/Hybrid_Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/01_Problem/Hybrid_Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/02_Solution/Cat.java: -------------------------------------------------------------------------------- 1 | package Diamond_Problem.Solution; 2 | 3 | public interface Cat { 4 | void sound(); 5 | } 6 | -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/02_Solution/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/02_Solution/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/02_Solution/HybridAnimal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/03_Diamond_Problem/02_Solution/HybridAnimal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/04_Hierarchial_Inheritance/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/04_Hierarchial_Inheritance/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/04_Hierarchial_Inheritance/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/04_Hierarchial_Inheritance/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/04_Hierarchial_Inheritance/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/04_Hierarchial_Inheritance/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/04_Hierarchial_Inheritance/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/04_Hierarchial_Inheritance/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/01_Interfaces/Mammal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/01_Interfaces/Mammal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/01_Interfaces/Pet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/01_Interfaces/Pet.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/05_Hybrid_Inheritance/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/01_Code_Reusability/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/01_Code_Reusability/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/02_Ease_Of_Maintenance/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/02_Ease_Of_Maintenance/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/02_Ease_Of_Maintenance/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/02_Ease_Of_Maintenance/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/03_Extensibility/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/03_Extensibility/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/03_Extensibility/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/03_Extensibility/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/03_Extensibility/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/03_Extensibility/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/03_Extensibility/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/03_Extensibility/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/04_Polymorphism/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/04_Polymorphism/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/04_Polymorphism/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/04_Polymorphism/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/04_Polymorphism/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/04_Polymorphism/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/04_Polymorphism/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/04_Polymorphism/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/06_Advantages/Dog.java: -------------------------------------------------------------------------------- 1 | package Advantages; 2 | 3 | public class Dog extends Animal { 4 | } 5 | -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/01_Complexity/Bulldog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/01_Complexity/Bulldog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/01_Complexity/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/01_Complexity/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/01_Complexity/Mammal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/01_Complexity/Mammal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/03_Reduced_Flexibility/Dog.java: -------------------------------------------------------------------------------- 1 | package Disadvantages.Reduced_Flexibility; 2 | 3 | public class Dog extends Animal { 4 | } 5 | -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/Animal.java: -------------------------------------------------------------------------------- 1 | package Disadvantages; 2 | 3 | public class Animal { 4 | } 5 | -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/Cat.java: -------------------------------------------------------------------------------- 1 | package Disadvantages; 2 | 3 | 4 | public class Cat extends Animal { 5 | } 6 | -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/06_Inheritance_and_It's_Types/src/07_Disadvantages/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/01_Ease_Of_Maintenance/BankAccount.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/01_Ease_Of_Maintenance/BankAccount.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/01_Ease_Of_Maintenance/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/01_Ease_Of_Maintenance/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/02_Enhanced_Readability/BankAccount.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/02_Enhanced_Readability/BankAccount.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/02_Enhanced_Readability/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/02_Enhanced_Readability/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/03_Increased_Flexibility/BankAccount.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/03_Increased_Flexibility/BankAccount.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/03_Increased_Flexibility/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/03_Increased_Flexibility/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/04_Data_Security/BankAccount.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/04_Data_Security/BankAccount.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/04_Data_Security/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/01_Advantages/04_Data_Security/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/02_Disadvantages/01_Complexity/BankAccount.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/02_Disadvantages/01_Complexity/BankAccount.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/02_Disadvantages/01_Complexity/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/02_Disadvantages/01_Complexity/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/02_Disadvantages/02_Increased_Overhead/BankAccount.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/02_Disadvantages/02_Increased_Overhead/BankAccount.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/02_Disadvantages/02_Increased_Overhead/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/02_Disadvantages/02_Increased_Overhead/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/BankAccount.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/BankAccount.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/07_Encapsulation/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/07_Encapsulation/src/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/01_Problem/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/01_Problem/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/01_Problem/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/01_Problem/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/01_Problem/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/01_Problem/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/01_Abstract_Classes/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/01_Abstract_Classes/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/01_Abstract_Classes/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/01_Abstract_Classes/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/01_Abstract_Classes/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/01_Abstract_Classes/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/01_Abstract_Classes/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/01_Abstract_Classes/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/02_Interface/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/02_Interface/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/02_Interface/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/02_Interface/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/02_Interface/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/02_Interface/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/02_Interface/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/02_Achieve_Abstraction/02_Interface/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/01_Question_1/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/01_Question_1/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/01_Question_1/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/01_Question_1/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/01_Question_1/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/01_Question_1/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/01_Question_1/Pet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/01_Question_1/Pet.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/02_Question_2/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/02_Question_2/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/02_Question_2/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/02_Question_2/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/02_Question_2/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/02_Question_2/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/02_Question_2/Pet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/02_Question_2/Pet.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/03_Question_3/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/03_Question_3/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/03_Question_3/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/03_Question_3/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/03_Question_3/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/03_Question_3/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/05_Question_5/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/05_Question_5/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/05_Question_5/Cat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/05_Question_5/Cat.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/05_Question_5/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/05_Question_5/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/05_Question_5/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/05_Question_5/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/06_Question_6/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/06_Question_6/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/06_Question_6/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/06_Question_6/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/06_Question_6/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/06_Question_6/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/07_Question_7/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/07_Question_7/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/07_Question_7/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/07_Question_7/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/07_Question_7/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/07_Question_7/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/08_Question_8/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/08_Question_8/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/08_Question_8/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/08_Question_8/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/08_Question_8/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/08_Question_8/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/08_Question_8/Mammal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/08_Question_8/Mammal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/09_Question_9/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/09_Question_9/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/09_Question_9/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/09_Question_9/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/09_Question_9/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/09_Question_9/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/10_Question_10/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/10_Question_10/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/10_Question_10/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/10_Question_10/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/10_Question_10/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/10_Question_10/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/10_Question_10/Mammal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/10_Question_10/Mammal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/11_Question_11/AnimalProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/11_Question_11/AnimalProcessor.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/11_Question_11/CatBehavior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/11_Question_11/CatBehavior.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/11_Question_11/DogBehavior.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/11_Question_11/DogBehavior.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/11_Question_11/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/11_Question_11/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/12_Question_12/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/12_Question_12/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/12_Question_12/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/12_Question_12/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/12_Question_12/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/12_Question_12/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/13_Question_13/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/13_Question_13/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/13_Question_13/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/13_Question_13/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/13_Question_13/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/13_Question_13/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/14_Question_14/Animal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/14_Question_14/Animal.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/14_Question_14/Dog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/14_Question_14/Dog.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/14_Question_14/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/14_Question_14/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/14_Question_14/Playable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/03_Interview_Questions/14_Question_14/Playable.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/08_Abstraction/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/08_Abstraction/src/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/09_Access_Modifiers/src/01_demo_Package/DemoClass.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/09_Access_Modifiers/src/01_demo_Package/DemoClass.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/09_Access_Modifiers/src/02_utility_Classes/DefaultClassExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/09_Access_Modifiers/src/02_utility_Classes/DefaultClassExample.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/09_Access_Modifiers/src/02_utility_Classes/PrivateClassExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/09_Access_Modifiers/src/02_utility_Classes/PrivateClassExample.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/09_Access_Modifiers/src/02_utility_Classes/ProtectedClassExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/09_Access_Modifiers/src/02_utility_Classes/ProtectedClassExample.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/09_Access_Modifiers/src/02_utility_Classes/PublicClassExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/09_Access_Modifiers/src/02_utility_Classes/PublicClassExample.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/01_Examples/01_Generic_Method/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/01_Examples/01_Generic_Method/Test.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/01_Examples/02_Generic_Class/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/01_Examples/02_Generic_Class/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/01_Examples/02_Generic_Class/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/01_Examples/02_Generic_Class/Test.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/02_Advantages/04_Type_Safety/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/02_Advantages/04_Type_Safety/Main.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/02_Advantages/04_Type_Safety/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/01_Generics/02_Advantages/04_Type_Safety/Test.java -------------------------------------------------------------------------------- /02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/02_WildCards/01_Example/WildcardExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/02_Object_Oriented_Programming/10_Generics_and_Wildcards/src/02_WildCards/01_Example/WildcardExample.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/01_Ugly_Code/BreadBaker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/01_Ugly_Code/BreadBaker.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/Bakery.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/Bakery.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/BakeryCleaner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/BakeryCleaner.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/BreadBaker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/BreadBaker.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/CustomerService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/CustomerService.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/InventoryManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/InventoryManager.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/SupplyOrder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/01_Single_Responsibility_Principle/02_Good_Code/SupplyOrder.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/01_Ugly_Code/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/01_Ugly_Code/Shape.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/02_Good_Code/01_Concrete_Shapes/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/02_Good_Code/01_Concrete_Shapes/Circle.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/02_Good_Code/01_Concrete_Shapes/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/02_Good_Code/01_Concrete_Shapes/Rectangle.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/02_Good_Code/01_Concrete_Shapes/Triangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/02_Good_Code/01_Concrete_Shapes/Triangle.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/02_Good_Code/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/02_Open_Closed_Principle/02_Good_Code/Shape.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/01_Ugly_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/01_Ugly_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/01_Ugly_Code/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/01_Ugly_Code/Vehicle.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/02_Good_Code/EngineVehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/02_Good_Code/EngineVehicle.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/02_Good_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/02_Good_Code/NonEngineVehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/02_Good_Code/NonEngineVehicle.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/02_Good_Code/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/03_Liskov_Substitution_Principle/02_Good_Code/Vehicle.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/04_Interface_Segregation_Principle/01_Ugly_Code/Machine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/04_Interface_Segregation_Principle/01_Ugly_Code/Machine.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/DatabaseLogger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/DatabaseLogger.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/EmailNotifier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/EmailNotifier.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/InventorySystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/InventorySystem.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/Order.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/Order.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/OrderService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/01_Ugly_Code/OrderService.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/02_Good_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/02_Good_Code/OrderService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/01_Solid_Principle/05_Dependency_Inversion_Principle/02_Good_Code/OrderService.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/01_Number_Swapper/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/01_Number_Swapper/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/01_Number_Swapper/NumberSwapper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/01_Number_Swapper/NumberSwapper.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/01_Ugly_Code/CancelButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/01_Ugly_Code/CancelButton.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/01_Ugly_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/01_Ugly_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/01_Ugly_Code/SubmitButton.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/01_Ugly_Code/SubmitButton.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/02_Good_Code/Button.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/02_Good_Code/Button.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/02_Object_Oriented_Principles/02_Good_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/03_Configuration_Files/01_Ugly_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/03_Configuration_Files/01_Ugly_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/03_Configuration_Files/02_Good_Code/Config.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/03_Configuration_Files/02_Good_Code/Config.java -------------------------------------------------------------------------------- /03_Design_Principles/02_DRY_Principle/01_Examples/03_Configuration_Files/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/02_DRY_Principle/01_Examples/03_Configuration_Files/02_Good_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/03_KISS_Principle/01_Ugly_Code/01_Factorial_Example/FactorialCalculator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/03_KISS_Principle/01_Ugly_Code/01_Factorial_Example/FactorialCalculator.java -------------------------------------------------------------------------------- /03_Design_Principles/03_KISS_Principle/01_Ugly_Code/02_Order_Processor_Example/Item.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/03_KISS_Principle/01_Ugly_Code/02_Order_Processor_Example/Item.java -------------------------------------------------------------------------------- /03_Design_Principles/03_KISS_Principle/01_Ugly_Code/02_Order_Processor_Example/OrderProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/03_KISS_Principle/01_Ugly_Code/02_Order_Processor_Example/OrderProcessor.java -------------------------------------------------------------------------------- /03_Design_Principles/03_KISS_Principle/02_Good_Code/01_Factorial_Example/FactorialCalculator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/03_KISS_Principle/02_Good_Code/01_Factorial_Example/FactorialCalculator.java -------------------------------------------------------------------------------- /03_Design_Principles/03_KISS_Principle/02_Good_Code/02_Order_Processor_Example/Item.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/03_KISS_Principle/02_Good_Code/02_Order_Processor_Example/Item.java -------------------------------------------------------------------------------- /03_Design_Principles/03_KISS_Principle/02_Good_Code/02_Order_Processor_Example/OrderProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/03_KISS_Principle/02_Good_Code/02_Order_Processor_Example/OrderProcessor.java -------------------------------------------------------------------------------- /03_Design_Principles/04_YAGNI_Principle/01_Ugly_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/04_YAGNI_Principle/01_Ugly_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/04_YAGNI_Principle/01_Ugly_Code/PaymentProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/04_YAGNI_Principle/01_Ugly_Code/PaymentProcessor.java -------------------------------------------------------------------------------- /03_Design_Principles/04_YAGNI_Principle/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/04_YAGNI_Principle/02_Good_Code/Main.java -------------------------------------------------------------------------------- /03_Design_Principles/04_YAGNI_Principle/02_Good_Code/PaymentProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/03_Design_Principles/04_YAGNI_Principle/02_Good_Code/PaymentProcessor.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/01_Concrete_Vehicles/Bike.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/01_Concrete_Vehicles/Bike.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/01_Concrete_Vehicles/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/01_Concrete_Vehicles/Car.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/01_Concrete_Vehicles/Truck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/01_Concrete_Vehicles/Truck.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/Main.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/01_Ugly_Code/Vehicle.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/01_Concrete_Vehicles/Bike.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/01_Concrete_Vehicles/Bike.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/01_Concrete_Vehicles/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/01_Concrete_Vehicles/Car.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/01_Concrete_Vehicles/Truck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/01_Concrete_Vehicles/Truck.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/Main.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/Vehicle.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/VehicleFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/01_Factory_Design_Pattern/src/02_Good_Code/VehicleFactory.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/01_Ugly_Code/CarFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/01_Ugly_Code/CarFactory.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/01_Ugly_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/01_Ugly_Code/Main.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/01_Ugly_Code/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/01_Ugly_Code/Vehicle.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/02_Good_Code/01_Interfaces/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/02_Good_Code/01_Interfaces/Vehicle.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/02_Abstract_Factory_Design_Pattern/src/02_Good_Code/Main.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/03_Builder_Design_Pattern/src/01_Ugly_Code/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/03_Builder_Design_Pattern/src/01_Ugly_Code/Car.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/03_Builder_Design_Pattern/src/01_Ugly_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/03_Builder_Design_Pattern/src/01_Ugly_Code/Main.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/03_Builder_Design_Pattern/src/02_Good_Code/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/03_Builder_Design_Pattern/src/02_Good_Code/Car.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/03_Builder_Design_Pattern/src/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/03_Builder_Design_Pattern/src/02_Good_Code/Main.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/01_Ugly_Code/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/01_Ugly_Code/Application.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/01_Ugly_Code/Logger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/01_Ugly_Code/Logger.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/01_Ugly_Code/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/01_Ugly_Code/UserService.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/02_Good_Code/01_Thread_Safe_Logger/Logger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/02_Good_Code/01_Thread_Safe_Logger/Logger.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/02_Good_Code/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/02_Good_Code/Application.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/02_Good_Code/Logger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/04_Singleton_Design_Pattern/src/02_Good_Code/Logger.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/Character.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/Character.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/CharacterFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/CharacterFactory.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/src/01_Ugly_Code/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/src/01_Ugly_Code/Car.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/src/01_Ugly_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/src/01_Ugly_Code/Main.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/src/02_Good_Code/Car.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/src/02_Good_Code/Car.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/src/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/01_Ugly_Code/src/02_Good_Code/Main.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/02_Good_Code/Character.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/02_Good_Code/Character.java -------------------------------------------------------------------------------- /04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/02_Good_Code/CharacterFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/04_Creational_Design_Patterns/05_Prototype_Design_Pattern/src/02_Good_Code/CharacterFactory.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/01_Ugly_Code/PaymentMethod.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/01_Ugly_Code/PaymentMethod.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/01_Ugly_Code/PaymentProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/01_Ugly_Code/PaymentProcessor.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/02_Good_Code/Main.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/02_Good_Code/PaymentProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/02_Good_Code/PaymentProcessor.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/02_Good_Code/PaymentStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/01_Strategy_Design_Pattern/src/02_Good_Code/PaymentStrategy.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/01_Ugly_Code/YouTubeChannel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/01_Ugly_Code/YouTubeChannel.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/01_Ugly_Code/YouTubeSubscriber.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/01_Ugly_Code/YouTubeSubscriber.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/02_Good_Code/01_Interfaces/Subscriber.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/02_Good_Code/01_Interfaces/Subscriber.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/02_Good_Code/01_Interfaces/YouTubeChannel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/02_Good_Code/01_Interfaces/YouTubeChannel.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/02_Good_Code/Main.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/02_Good_Code/YouTubeChannelImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/02_Observer_Design_Pattern/src/02_Good_Code/YouTubeChannelImpl.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/03_Iterator_Design_Pattern/src/01_Ugly_Code/Playlist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/03_Iterator_Design_Pattern/src/01_Ugly_Code/Playlist.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/03_Iterator_Design_Pattern/src/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/03_Iterator_Design_Pattern/src/02_Good_Code/Main.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/03_Iterator_Design_Pattern/src/02_Good_Code/Playlist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/03_Iterator_Design_Pattern/src/02_Good_Code/Playlist.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/03_Iterator_Design_Pattern/src/02_Good_Code/PlaylistIterator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/03_Iterator_Design_Pattern/src/02_Good_Code/PlaylistIterator.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/01_Ugly_Code/RemoteControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/01_Ugly_Code/RemoteControl.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/01_Ugly_Code/TV.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/01_Ugly_Code/TV.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/02_Good_Code/02_Core_Classes/RemoteControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/02_Good_Code/02_Core_Classes/RemoteControl.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/02_Good_Code/02_Core_Classes/TV.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/02_Good_Code/02_Core_Classes/TV.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/02_Good_Code/Command.java: -------------------------------------------------------------------------------- 1 | package Good_Code; 2 | 3 | public interface Command { 4 | void execute(); 5 | } 6 | -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/02_Good_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/04_Command_Design_Pattern/src/02_Good_Code/Main.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/01_Ugly_Code/AuctionUglyDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/01_Ugly_Code/AuctionUglyDemo.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/01_Ugly_Code/Bidder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/01_Ugly_Code/Bidder.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/02_Good_Code/01_Core_Classes/AuctionHouse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/02_Good_Code/01_Core_Classes/AuctionHouse.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/02_Good_Code/01_Core_Classes/Bidder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/02_Good_Code/01_Core_Classes/Bidder.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/02_Good_Code/AuctionMedaitorDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/02_Good_Code/AuctionMedaitorDemo.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/02_Good_Code/AuctionMediator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/05_Mediator_Design_Pattern/src/02_Good_Code/AuctionMediator.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/01_Ugly_Code/TrafficLight.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/01_Ugly_Code/TrafficLight.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/01_Ugly_Code/TrafficLightTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/01_Ugly_Code/TrafficLightTest.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/BlinkingState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/BlinkingState.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/GreenState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/GreenState.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/MaintenanceState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/MaintenanceState.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/RedState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/RedState.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/YellowState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/01_Concrete_States/YellowState.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/TrafficLightContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/TrafficLightContext.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/TrafficLightState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/TrafficLightState.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/TrafficLightTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/06_State_Design_Pattern/src/02_Good_Code/TrafficLightTest.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/07_Template_Design_Pattern/src/01_Ugly_Code/01_Concrete_Beverages/Coffee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/07_Template_Design_Pattern/src/01_Ugly_Code/01_Concrete_Beverages/Coffee.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/07_Template_Design_Pattern/src/01_Ugly_Code/01_Concrete_Beverages/Tea.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/07_Template_Design_Pattern/src/01_Ugly_Code/01_Concrete_Beverages/Tea.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/07_Template_Design_Pattern/src/01_Ugly_Code/TraditionalBeverageDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/07_Template_Design_Pattern/src/01_Ugly_Code/TraditionalBeverageDemo.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/08_Chain_Of_Responsibility_Design_Pattern/src/01_Ugly_Code/LeaveRequestUgly.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/08_Chain_Of_Responsibility_Design_Pattern/src/01_Ugly_Code/LeaveRequestUgly.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/08_Chain_Of_Responsibility_Design_Pattern/src/02_Good_Code/Approver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/08_Chain_Of_Responsibility_Design_Pattern/src/02_Good_Code/Approver.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/01_Ugly_Code/01_Concrete_Patients/AdultPatient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/01_Ugly_Code/01_Concrete_Patients/AdultPatient.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/01_Ugly_Code/01_Concrete_Patients/ChildPatient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/01_Ugly_Code/01_Concrete_Patients/ChildPatient.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/01_Ugly_Code/HospitalTraditional.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/01_Ugly_Code/HospitalTraditional.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/01_Interfaces/Patient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/01_Interfaces/Patient.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/01_Interfaces/Visitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/01_Interfaces/Visitor.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/03_Concrete_Patients/AdultPatient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/03_Concrete_Patients/AdultPatient.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/03_Concrete_Patients/ChildPatient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/03_Concrete_Patients/ChildPatient.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/HospitalVisitorDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/09_Visitor_Design_Pattern/src/02_Good_Code/HospitalVisitorDemo.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/01_Ugly_Code/TextEditorTraditional.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/01_Ugly_Code/TextEditorTraditional.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/01_Ugly_Code/TextEditorUgly.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/01_Ugly_Code/TextEditorUgly.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/01_Ugly_Code/TraditionalEditorDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/01_Ugly_Code/TraditionalEditorDemo.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/02_Good_Code/EditorHistory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/02_Good_Code/EditorHistory.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/02_Good_Code/Memento.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/02_Good_Code/Memento.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/02_Good_Code/MementoPatternDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/02_Good_Code/MementoPatternDemo.java -------------------------------------------------------------------------------- /05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/02_Good_Code/TextEditor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/05_Behavioural_Design_Patterns/10_Memento_Design_Pattern/src/02_Good_Code/TextEditor.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/01_Adapter_Design_Pattern/src/01_Ugly_Code/SmartHomeController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/01_Adapter_Design_Pattern/src/01_Ugly_Code/SmartHomeController.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/01_Adapter_Design_Pattern/src/02_Correct_Code/01_Concrete_Devices/SmartLight.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/01_Adapter_Design_Pattern/src/02_Correct_Code/01_Concrete_Devices/SmartLight.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/01_Adapter_Design_Pattern/src/02_Correct_Code/SmartDevice.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/01_Adapter_Design_Pattern/src/02_Correct_Code/SmartDevice.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/02_Composite_Design_Pattern/src/01_Ugly_Code/AirConditioner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/02_Composite_Design_Pattern/src/01_Ugly_Code/AirConditioner.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/02_Composite_Design_Pattern/src/01_Ugly_Code/SmartHomeController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/02_Composite_Design_Pattern/src/01_Ugly_Code/SmartHomeController.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/02_Composite_Design_Pattern/src/01_Ugly_Code/SmartLight.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/02_Composite_Design_Pattern/src/01_Ugly_Code/SmartLight.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/02_Composite_Design_Pattern/src/02_Correct_Code/SmartComponent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/02_Composite_Design_Pattern/src/02_Correct_Code/SmartComponent.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/01_Ugly_Code/ImageViewer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/01_Ugly_Code/ImageViewer.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/01_Ugly_Code/MultimediaApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/01_Ugly_Code/MultimediaApp.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/01_Ugly_Code/MusicPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/01_Ugly_Code/MusicPlayer.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/01_Ugly_Code/VideoPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/01_Ugly_Code/VideoPlayer.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/01_Concrete_Devices/ImageViewer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/01_Concrete_Devices/ImageViewer.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/01_Concrete_Devices/MusicPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/01_Concrete_Devices/MusicPlayer.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/01_Concrete_Devices/VideoPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/01_Concrete_Devices/VideoPlayer.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/02_Media_Facade/MediaFacade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/02_Media_Facade/MediaFacade.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/03_Client_Code/MultimediaApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/03_Facade_Design_Pattern/src/02_Correct_Code/03_Client_Code/MultimediaApp.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/04_Decorator_Design_Pattern/src/01_Ugly_Code/CoffeeShop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/04_Decorator_Design_Pattern/src/01_Ugly_Code/CoffeeShop.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/04_Decorator_Design_Pattern/src/02_Correct_Code/03_Client_Code/CoffeeShop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/04_Decorator_Design_Pattern/src/02_Correct_Code/03_Client_Code/CoffeeShop.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/04_Decorator_Design_Pattern/src/02_Correct_Code/Coffee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/04_Decorator_Design_Pattern/src/02_Correct_Code/Coffee.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/01_Ugly_Code/ConcreteShapes/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/01_Ugly_Code/ConcreteShapes/Circle.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/01_Ugly_Code/ConcreteShapes/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/01_Ugly_Code/ConcreteShapes/Rectangle.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/01_Ugly_Code/DrawingApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/01_Ugly_Code/DrawingApp.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/01_Ugly_Code/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/01_Ugly_Code/Shape.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/02_Concrete_Shapes/Circle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/02_Concrete_Shapes/Circle.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/02_Concrete_Shapes/Rectangle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/02_Concrete_Shapes/Rectangle.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/03_Client_Code/DrawingApp.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/03_Client_Code/DrawingApp.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/Renderer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/Renderer.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/Shape.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/05_Bridge_Design_Pattern/src/02_Correct_Code/Shape.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/01_Ugly_Code/Client_Code.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/01_Ugly_Code/Client_Code.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/01_Ugly_Code/VideoService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/01_Ugly_Code/VideoService.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/02_Correct_Code/02_Client_Code/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/02_Correct_Code/02_Client_Code/Main.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/02_Correct_Code/ProxyVideoService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/02_Correct_Code/ProxyVideoService.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/02_Correct_Code/VideoServiceInterface.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/06_Proxy_Design_Pattern/src/02_Correct_Code/VideoServiceInterface.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/01_Ugly_Code/Game.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/01_Ugly_Code/Game.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/01_Ugly_Code/Particle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/01_Ugly_Code/Particle.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/01_Ugly_Code/ParticleSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/01_Ugly_Code/ParticleSystem.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/02_Correct_Code/Game.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/02_Correct_Code/Game.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/02_Correct_Code/Particle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/02_Correct_Code/Particle.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/02_Correct_Code/ParticleType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/02_Correct_Code/ParticleType.java -------------------------------------------------------------------------------- /06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/02_Correct_Code/ParticleTypeFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/06_Structural_Design_Patterns/07_Flyweight_Design_Pattern/src/02_Correct_Code/ParticleTypeFactory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/CommonEnum/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/CommonEnum/Symbol.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Controller/BoardGames.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Controller/BoardGames.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Controller/GameController/TicTacToeGame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Controller/GameController/TicTacToeGame.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/ConcreteStates/OTurnState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/ConcreteStates/OTurnState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/ConcreteStates/OWonState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/ConcreteStates/OWonState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/ConcreteStates/XTurnState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/ConcreteStates/XTurnState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/ConcreteStates/XWonState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/ConcreteStates/XWonState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/Context/GameContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/Context/GameContext.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/GameState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/GameStateHandler/GameState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/PlayerStrategies/ConcreteStrategies/HumanPlayerStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/PlayerStrategies/ConcreteStrategies/HumanPlayerStrategy.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/PlayerStrategies/PlayerStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/PlayerStrategies/PlayerStrategy.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Utility/Board.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Utility/Board.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Utility/Player.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Utility/Player.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Utility/Position.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/01_Design_Tic_Tac_Toe/src/Utility/Position.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/CommonEnums/Status.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/CommonEnums/Status.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/Controller/BoardGames.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/Controller/BoardGames.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/Controller/ConcreteGames/ChessGame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/Controller/ConcreteGames/ChessGame.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/MovementStrategyPattern/MovementStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/MovementStrategyPattern/MovementStrategy.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Bishop.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Bishop.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/King.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/King.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Knight.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Knight.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Pawn.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Pawn.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Queen.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Queen.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Rook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/ConcretePieces/Rook.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/Piece.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/Piece.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/PieceFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/PieceFactoryPackage/PieceFactory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/UtilityClasses/Board.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/UtilityClasses/Board.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/UtilityClasses/Cell.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/UtilityClasses/Cell.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/UtilityClasses/Move.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/UtilityClasses/Move.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/02_Design_Chess_Game/src/UtilityClasses/Player.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/02_Design_Chess_Game/src/UtilityClasses/Player.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/Controller/SnakeGame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/Controller/SnakeGame.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/FoodItemFactory/ConcreteFoodItems/BonusFood.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/FoodItemFactory/ConcreteFoodItems/BonusFood.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/FoodItemFactory/ConcreteFoodItems/NormalFood.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/FoodItemFactory/ConcreteFoodItems/NormalFood.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/FoodItemFactory/FoodFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/FoodItemFactory/FoodFactory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/FoodItemFactory/FoodItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/FoodItemFactory/FoodItem.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/MovementStrategyPackage/MovementStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/MovementStrategyPackage/MovementStrategy.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/UtilityClasses/GameBoard.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/UtilityClasses/GameBoard.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/UtilityClasses/Pair.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/UtilityClasses/Pair.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/UtilityClasses/Snake.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/03_Design_Snake_and_Food_Game/src/UtilityClasses/Snake.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/CommonEnum/DurationType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/CommonEnum/DurationType.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/FareStrategyPattern/ParkingFeeStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/FareStrategyPattern/ParkingFeeStrategy.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/ParkingLotController/ParkingLot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/ParkingLotController/ParkingLot.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/ParkingSpots/ConcreteParkingSpots/BikeParkingSpot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/ParkingSpots/ConcreteParkingSpots/BikeParkingSpot.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/ParkingSpots/ConcreteParkingSpots/CarParkingSpot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/ParkingSpots/ConcreteParkingSpots/CarParkingSpot.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/ParkingSpots/ParkingSpot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/ParkingSpots/ParkingSpot.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/PaymentStrategyPattern/Payment.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/PaymentStrategyPattern/Payment.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/PaymentStrategyPattern/PaymentStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/PaymentStrategyPattern/PaymentStrategy.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/ConcreteVehicles/BikeVehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/ConcreteVehicles/BikeVehicle.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/ConcreteVehicles/CarVehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/ConcreteVehicles/CarVehicle.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/ConcreteVehicles/OtherVehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/ConcreteVehicles/OtherVehicle.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/Vehicle.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/VehicleFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/04_Design_Parking_Lot/src/VehicleFactoryPattern/VehicleFactory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/CommandPatternIMP/ConcreteClasses/ElevatorRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/CommandPatternIMP/ConcreteClasses/ElevatorRequest.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/CommandPatternIMP/ElevatorCommand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/CommandPatternIMP/ElevatorCommand.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/CommonEnums/Direction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/CommonEnums/Direction.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/CommonEnums/ElevatorState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/CommonEnums/ElevatorState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/ObserverPatternIMP/ElevatorDisplay.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/ObserverPatternIMP/ElevatorDisplay.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/ObserverPatternIMP/ElevatorObserver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/ObserverPatternIMP/ElevatorObserver.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/SchedulingAlgoStrategyPattern/SchedulingStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/SchedulingAlgoStrategyPattern/SchedulingStrategy.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/UtilityClasses/Building.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/UtilityClasses/Building.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/UtilityClasses/Elevator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/UtilityClasses/Elevator.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/UtilityClasses/ElevatorController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/UtilityClasses/ElevatorController.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/05_Design_Elevator_System/src/UtilityClasses/Floor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/05_Design_Elevator_System/src/UtilityClasses/Floor.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/CommonEnum/InventoryOperation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/CommonEnum/InventoryOperation.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/CommonEnum/ProductCategory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/CommonEnum/ProductCategory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/InventoryStockManager/InventoryManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/InventoryStockManager/InventoryManager.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/ProductsFactory/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/ProductsFactory/Product.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/ProductsFactory/ProductFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/ProductsFactory/ProductFactory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/UtilityClasses/Warehouse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/06_Design_Inventory_Management_System/src/UtilityClasses/Warehouse.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/CommonEnums/ReservationEnums/ReservationStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/CommonEnums/ReservationEnums/ReservationStatus.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/CommonEnums/VehicleEnums/VehicleStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/CommonEnums/VehicleEnums/VehicleStatus.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/CommonEnums/VehicleEnums/VehicleType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/CommonEnums/VehicleEnums/VehicleType.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/MainRentalSystem/RentalSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/MainRentalSystem/RentalSystem.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/Location.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/Location.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/RentalStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/RentalStore.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/Reservation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/Reservation.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/ReservationManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/ReservationManager.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/UtiltiyClasses/User.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/ConcreteVehicles/EconomyVehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/ConcreteVehicles/EconomyVehicle.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/ConcreteVehicles/LuxuryVehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/ConcreteVehicles/LuxuryVehicle.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/ConcreteVehicles/SUVVehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/ConcreteVehicles/SUVVehicle.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/Vehicle.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/Vehicle.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/VehicleFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/VehicleFactoryPattern/VehicleFactory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/paymentStrategyPattern/PaymentProcessor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/paymentStrategyPattern/PaymentProcessor.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/07_Design Car rental/src/paymentStrategyPattern/PaymentStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/07_Design Car rental/src/paymentStrategyPattern/PaymentStrategy.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/CommonEnums/Coin.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/CommonEnums/Coin.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/CommonEnums/ItemType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/CommonEnums/ItemType.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/UtilityClasses/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/UtilityClasses/Inventory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/UtilityClasses/Item.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/UtilityClasses/Item.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/UtilityClasses/ItemShelf.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/UtilityClasses/ItemShelf.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/DispenseState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/DispenseState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/HasMoneyState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/HasMoneyState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/IdleState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/IdleState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/OutOfStockState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/OutOfStockState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/SelectionState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/ConcreteStates/SelectionState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/VendingMachineContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/VendingMachineContext.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/VendingMachineState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/08_Design_Vending_Machine/src/VendingMachineStates/VendingMachineState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/09_Design File System/src/CompositePattern/ConcreteImplementations/Directory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/09_Design File System/src/CompositePattern/ConcreteImplementations/Directory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/09_Design File System/src/CompositePattern/ConcreteImplementations/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/09_Design File System/src/CompositePattern/ConcreteImplementations/File.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/09_Design File System/src/CompositePattern/FileSystemNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/09_Design File System/src/CompositePattern/FileSystemNode.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/09_Design File System/src/CoreClasses/FileSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/09_Design File System/src/CoreClasses/FileSystem.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/09_Design File System/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/09_Design File System/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/CORPattern/ConcreteLogHandlers/DebugLogger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/CORPattern/ConcreteLogHandlers/DebugLogger.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/CORPattern/ConcreteLogHandlers/ErrorLogger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/CORPattern/ConcreteLogHandlers/ErrorLogger.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/CORPattern/ConcreteLogHandlers/InfoLogger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/CORPattern/ConcreteLogHandlers/InfoLogger.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/CORPattern/LogHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/CORPattern/LogHandler.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/CommonEnum/LogLevel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/CommonEnum/LogLevel.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/LogAppenderStrategies/LogAppender.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/LogAppenderStrategies/LogAppender.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/LoggerControllers/Logger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/LoggerControllers/Logger.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/LoggerControllers/LoggerConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/LoggerControllers/LoggerConfig.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/10_Design_Logging_System/src/UtilityClasses/LogMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/10_Design_Logging_System/src/UtilityClasses/LogMessage.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/Algorithm/BalanceSheet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/Algorithm/BalanceSheet.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/ObserverPatternImp/Classes/ExpenseManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/ObserverPatternImp/Classes/ExpenseManager.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/ObserverPatternImp/Interfaces/ExpenseObserver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/ObserverPatternImp/Interfaces/ExpenseObserver.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/ObserverPatternImp/Interfaces/ExpenseSubject.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/ObserverPatternImp/Interfaces/ExpenseSubject.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/SplitTypeFactoryPattern/ConcreteSplitClasses/EqualSplit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/SplitTypeFactoryPattern/ConcreteSplitClasses/EqualSplit.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/SplitTypeFactoryPattern/Split.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/SplitTypeFactoryPattern/Split.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/SplitTypeFactoryPattern/SplitFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/SplitTypeFactoryPattern/SplitFactory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/UtilityClasses/Expense.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/UtilityClasses/Expense.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/UtilityClasses/Transaction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/UtilityClasses/Transaction.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/UtilityClasses/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/UtilityClasses/User.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/11_Design_Splitwise/src/UtilityClasses/UserPair.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/11_Design_Splitwise/src/UtilityClasses/UserPair.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/CommonEnum/CashType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/CommonEnum/CashType.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/CommonEnum/TransactionType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/CommonEnum/TransactionType.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/Main.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ATMContext/ATMMachineContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ATMContext/ATMMachineContext.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ATMFactory/ATMStateFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ATMFactory/ATMStateFactory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ATMState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ATMState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ConcreteATMState/HasCardState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ConcreteATMState/HasCardState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ConcreteATMState/IdleState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ConcreteATMState/IdleState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ConcreteATMState/SelectOperationState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ConcreteATMState/SelectOperationState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ConcreteATMState/TransactionState.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/StatePattern/ConcreteATMState/TransactionState.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/UtilityClasses/ATMInventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/UtilityClasses/ATMInventory.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/UtilityClasses/Account.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/UtilityClasses/Account.java -------------------------------------------------------------------------------- /07_LLD_Interview_Problems/12_Design_ATM_Machine/src/UtilityClasses/Card.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/07_LLD_Interview_Problems/12_Design_ATM_Machine/src/UtilityClasses/Card.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/02_Thread_pool_and_Thread_Lifecycle/src/02_Thread_Pools/01_Example/WorkerThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/02_Thread_pool_and_Thread_Lifecycle/src/02_Thread_Pools/01_Example/WorkerThread.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/02_Thread_pool_and_Thread_Lifecycle/src/03_Thread_Pool_Life_Cycle/Task.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/02_Thread_pool_and_Thread_Lifecycle/src/03_Thread_Pool_Life_Cycle/Task.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/03_Thread_Executors/src/01_Interview_Questions/01_Question_1/Question_1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/03_Thread_Executors/src/01_Interview_Questions/01_Question_1/Question_1.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/03_Thread_Executors/src/01_Interview_Questions/02_Question_5/Question_5.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/03_Thread_Executors/src/01_Interview_Questions/02_Question_5/Question_5.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/05_Thread_Communication/src/01_Wait_Notify_Example/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/05_Thread_Communication/src/01_Wait_Notify_Example/Main.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/05_Thread_Communication/src/01_Wait_Notify_Example/WaitNotifyDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/05_Thread_Communication/src/01_Wait_Notify_Example/WaitNotifyDemo.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/06_Locks_and_Types_of_Locks/src/01_Types_Of_Locks/ReadWriteLockExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/06_Locks_and_Types_of_Locks/src/01_Types_Of_Locks/ReadWriteLockExample.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/06_Locks_and_Types_of_Locks/src/01_Types_Of_Locks/ReentrantLockExecutorExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/06_Locks_and_Types_of_Locks/src/01_Types_Of_Locks/ReentrantLockExecutorExample.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/06_Locks_and_Types_of_Locks/src/01_Types_Of_Locks/ReentrantLockTryLockExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/06_Locks_and_Types_of_Locks/src/01_Types_Of_Locks/ReentrantLockTryLockExample.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/07_Semaphore/src/01_Types_Of_Sempahore/BinarySemaphoreExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/07_Semaphore/src/01_Types_Of_Sempahore/BinarySemaphoreExample.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/07_Semaphore/src/01_Types_Of_Sempahore/CountingSemaphoreExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/07_Semaphore/src/01_Types_Of_Sempahore/CountingSemaphoreExample.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/07_Semaphore/src/02_Interview_Questions/01_Question_1/SemaphoreVsLockExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/07_Semaphore/src/02_Interview_Questions/01_Question_1/SemaphoreVsLockExample.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/07_Semaphore/src/02_Interview_Questions/02_Question_2/SemaphoreReleaseExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/07_Semaphore/src/02_Interview_Questions/02_Question_2/SemaphoreReleaseExample.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/07_Semaphore/src/02_Interview_Questions/04_Question_4/ReaderWriterLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/07_Semaphore/src/02_Interview_Questions/04_Question_4/ReaderWriterLock.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/08_Java_Concurrent_Collections/src/01_Examples/01_Concurrent_HashMap/MapExample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/08_Java_Concurrent_Collections/src/01_Examples/01_Concurrent_HashMap/MapExample.java -------------------------------------------------------------------------------- /08_Concurrency_Theory_Codes/08_Java_Concurrent_Collections/src/01_Examples/03_Queue_Example/QueueComparison.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/08_Concurrency_Theory_Codes/08_Java_Concurrent_Collections/src/01_Examples/03_Queue_Example/QueueComparison.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/01_Print_Zero_Even_odd/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/01_Print_Zero_Even_odd/src/Main.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/01_Print_Zero_Even_odd/src/ZeroEvenOdd.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/01_Print_Zero_Even_odd/src/ZeroEvenOdd.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/02_Fizz_Buzz_Multithreaded/src/FizzBuzz.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/02_Fizz_Buzz_Multithreaded/src/FizzBuzz.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/02_Fizz_Buzz_Multithreaded/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/02_Fizz_Buzz_Multithreaded/src/Main.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/03_Design_Bounded_Blocking_Queue/src/BoundedBlockingQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/03_Design_Bounded_Blocking_Queue/src/BoundedBlockingQueue.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/03_Design_Bounded_Blocking_Queue/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/03_Design_Bounded_Blocking_Queue/src/Main.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/04_The_Dining_Philosophers/src/DiningPhilosophers.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/04_The_Dining_Philosophers/src/DiningPhilosophers.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/04_The_Dining_Philosophers/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/04_The_Dining_Philosophers/src/Main.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/05_Design_Multithreaded_Web_Crawler/src/HtmlParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/05_Design_Multithreaded_Web_Crawler/src/HtmlParser.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/05_Design_Multithreaded_Web_Crawler/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/05_Design_Multithreaded_Web_Crawler/src/Main.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/05_Design_Multithreaded_Web_Crawler/src/MockHtmlParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/05_Design_Multithreaded_Web_Crawler/src/MockHtmlParser.java -------------------------------------------------------------------------------- /09_Concurreny_Interview_Problems/05_Design_Multithreaded_Web_Crawler/src/WebCrawler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/09_Concurreny_Interview_Problems/05_Design_Multithreaded_Web_Crawler/src/WebCrawler.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CommonEnum/BookingStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CommonEnum/BookingStatus.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CommonEnum/SeatCategory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CommonEnum/SeatCategory.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Controllers/MovieController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Controllers/MovieController.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Controllers/ShowController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Controllers/ShowController.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Booking.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Booking.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Movie.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Movie.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Screen.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Screen.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Seat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Seat.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/SeatLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/SeatLock.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Show.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Show.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Theatre.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/Theatre.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/CoreClasses/User.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Interfaces/PaymentStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Interfaces/PaymentStrategy.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Main.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/BookingService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/BookingService.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/MovieService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/MovieService.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/PaymentService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/PaymentService.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/ShowService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/ShowService.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/TheatreService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/01_Design_Movie_Ticket_Booking_System/src/Services/TheatreService.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Controller/KafkaController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Controller/KafkaController.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Controller/TopicPublisherController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Controller/TopicPublisherController.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Main.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Publisher/IPublisher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Publisher/IPublisher.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Subscriber/ISubscriber.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/Subscriber/ISubscriber.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/model/Message.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/model/Message.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/model/Topic.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/model/Topic.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/model/TopicPublisher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/model/TopicPublisher.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/model/TopicSubscriber.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/02_Design_Pub_Sub_Model_Kafka/src/model/TopicSubscriber.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/EvictionAlgorithms/EvictionAlgorithm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/EvictionAlgorithms/EvictionAlgorithm.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/Executors/KeyBasedExecutor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/Executors/KeyBasedExecutor.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/Main.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/MainCache/Cache.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/MainCache/Cache.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/StorageMechanisms/Interfaces/CacheStorage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/StorageMechanisms/Interfaces/CacheStorage.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/StorageMechanisms/Interfaces/DBStorage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/StorageMechanisms/Interfaces/DBStorage.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/UtilityClasses/DoublyLinkedList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/UtilityClasses/DoublyLinkedList.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/UtilityClasses/DoublyLinkedListNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/UtilityClasses/DoublyLinkedListNode.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/WritePolicies/WritePolicy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/03_Design_Cache_System/src/WritePolicies/WritePolicy.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/Algorithms/IRateLimiter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/Algorithms/IRateLimiter.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/Algorithms/TokenBucketStrategy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/Algorithms/TokenBucketStrategy.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/CommonEnums/RateLimiterType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/CommonEnums/RateLimiterType.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/Controller/RateLimiterController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/Controller/RateLimiterController.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/Main.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/factory/RateLimiterFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/10_LLD_Concurrency_Interview_Problems/04_Design_Rate_Limiter/src/factory/RateLimiterFactory.java -------------------------------------------------------------------------------- /10_LLD_Concurrency_Interview_Problems/notes.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aryan-0077/CWA-LowLevelDesignCode/HEAD/README.md --------------------------------------------------------------------------------