Category: Java Design Patterns

Java Design Patterns

Factory Pattern vs 🏭 Abstract Factory Pattern in Java

Abstract Factory Pattern Example in Java From: AI Tools/OpenAI/Chatgpt “ Perfect 👍 Let me give you a clean, copyright-free Abstract Factory Pattern Java example with explanation. 🏭 Abstract Factory Pattern Example in Java Problem: We want to create UI components (Button, Checkbox) for different operating systems (Windows and Mac). The client should be able to …

Continue reading

Builder Pattern vs ⚙️ Factory Pattern in Java

From AI Tools/Open AI/ChatGPT “ Perfect 👍 Here’s a copyright-free comparison table of the Builder Pattern vs Factory Pattern in Java, styled for easy posting on Facebook/Blog: 🏗️ Builder Pattern vs ⚙️ Factory Pattern in Java Aspect Builder Pattern Factory Pattern Type Creational design pattern Creational design pattern Purpose To construct complex objects step by …

Continue reading

Factory Design Pattern: Examples in Java

Observe the code below: We wanted to create objects such as shape1, shape2, and shape 3. We did not directly (create and) call the class for the required objects. We did not create or call a circle class, or a square class, or a rectangle class. We rather thought there was a factory class that …

Continue reading

Builder Design Pattern: Example in Java

Observe these two examples of Object Creation from the Student Class We did not call the constructor with the property values, but we built the object step by step with only the properties and values we needed. This can be useful when we have classes with many properties, many properties/attributes are also optional or serve …

Continue reading

Proxy Pattern

Proxy Pattern: “Proxy is a structural design pattern that lets you provide a substitute or placeholder for another object. A proxy controls access to the original object, allowing you to perform something either before or after the request gets through to the original object.” “A credit card is a proxy for a bank account, which …

Continue reading

Java: Facade Design Pattern

Façade Pattern “Facade is a structural design pattern that provides a simplified interface to a library, a framework, or any other complex set of classes.” “When you call a shop to place a phone order, an operator is your facade to all services and departments of the shop. The operator provides you with a simple …

Continue reading

Java : Decorator Design pattern

Decorator Design pattern: Decorator is a structural design pattern that lets you attach new behaviors to objects by placing these objects inside special wrapper objects that contain the behaviors. Example: Assume: A notifier class/object can send only email messages. But the application at a later time may want to use text/SMS, FB, or similar messages. …

Continue reading

Java Structural Design Patterns

Adapter Design Patterns Ref: A good read: https://refactoring.guru/design-patterns/adapter Ref: Wikipedia Ref: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/