madreloidpx / personal-website

madreloidpx.vercel.app
0 stars 0 forks source link

Design Patterns #1

Open madreloidpx opened 3 years ago

madreloidpx commented 3 years ago

Introduction

Overview

The best practices used by experienced object-oriented software engineers are represented by design patterns. Design patterns answer common issues that software developers confront while developing software. Several software engineers used trial and error to arrive at these solutions over a long period of time.

Design patterns can help developers save time by providing tested development paradigms. Effective software design takes into account challenges that may not be seen until later in the development process. For programmers and architects familiar with the patterns, reusing design patterns helps to eliminate subtle flaws that can lead to large difficulties and improves code readability.

Patterns also allow engineers to speak about software interactions using well-known, well-understood terms. Common design patterns are improved over time, making them more robust. Learning these patterns makes it easier and faster for inexperienced developers to learn software design.

Types of Design Patterns

Creational design patterns

Rather than instantiating objects directly using the new operator, these design patterns give a mechanism to construct objects without obscuring the creation logic. This pattern can be further subdivided into patterns for creating classes and patterns for creating objects. While class-creation patterns make good use of inheritance in the instantiation process, object-creation patterns make good use of delegation. This allows the software more freedom in determining which objects are required for a specific use case.

Structural design patterns

It's all about Class and Object composition in this design pattern. Inheritance is a concept that is used to create interfaces and define how to create objects to form new functions. It is also used to construct interfaces in structural class-creation patterns.

Behavioral design patterns

These design patterns are focused on object communication. The interaction between the objects in these design patterns should be such that they may readily communicate with one another while being loosely connected in order to avoid hard coding and dependencies.

J2EE Patterns

These design patterns are concerned with the presentation tier developed for Enterprise Web-based Applications. Sun Java Center has detected these tendencies.

madreloidpx commented 3 years ago

test comment