All Projects → alexprut → design-patterns-java

alexprut / design-patterns-java

Licence: MIT License
📗 Classic OOP Design Patterns from GoF, implemented in Java.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to design-patterns-java

design-patterns-cookbook
Design Patterns in simple words with examples on PHP
Stars: ✭ 26 (+4%)
Mutual labels:  oop, design-patterns, gof
design-patterns-typescript
Nessa seção falamos sobre 22 (de 23) padrões de projeto da GoF. Todos descritos em vídeo, com teoria e prática + exemplos de código.
Stars: ✭ 257 (+928%)
Mutual labels:  design-patterns, gof
Design-Patterns
Project for learning and discuss about design patterns
Stars: ✭ 16 (-36%)
Mutual labels:  oop, design-patterns
express-mvc-pattern
Example nodejs using express implementation design pattern using mvc architecture.
Stars: ✭ 52 (+108%)
Mutual labels:  oop, design-patterns
Low Level Design Primer
Dedicated Resources for the Low-Level System Design. Learn how to design and implement large-scale systems. Prep for the system design interview.
Stars: ✭ 2,706 (+10724%)
Mutual labels:  oop, design-patterns
Learning Oop In Php
A collection of resources to learn object-oriented programming and related concepts for PHP developers.
Stars: ✭ 2,359 (+9336%)
Mutual labels:  oop, design-patterns
Java-Programs
Java Practiced Problems including concepts of OOPS, Interface, String , Collection.
Stars: ✭ 51 (+104%)
Mutual labels:  oop, design-patterns
Designpatternslibrary
A comprehensive design patterns library implemented in C#, which covers various design patterns from the most commonly used ones to the lesser-known ones. Get familiar with and learn design patterns through moderately realistic examples.
Stars: ✭ 485 (+1840%)
Mutual labels:  oop, design-patterns
design-pattern-examples-in-crystal
UML model and code examples of design patterns for Crystal. The model is created with Astah.
Stars: ✭ 51 (+104%)
Mutual labels:  design-patterns, gof
Front-End-Design-Patterns
Design Patterns
Stars: ✭ 25 (+0%)
Mutual labels:  oop, design-patterns
estore
Electronic Store Application - A web based application developed using PHP and Driven by MySQL Database
Stars: ✭ 48 (+92%)
Mutual labels:  oop, design-patterns
Design Patterns Php
Most simplest design pattern implementation in PHP, including all 23 GoF patterns plus some other patterns
Stars: ✭ 85 (+240%)
Mutual labels:  oop, design-patterns
Designpatterns
DesignPatterns samples by csharp on dotnetcore 《大话设计模式》 中设计模式总结/C#(.NETCore)代码
Stars: ✭ 73 (+192%)
Mutual labels:  oop, design-patterns
awesome-software-architecture
A curated list of awesome articles, videos, and other resources to learn and practice software architecture, patterns, and principles.
Stars: ✭ 1,594 (+6276%)
Mutual labels:  oop, design-patterns
Java design patterns
Java 实现的面向对象设计模式示例, 创建者、抽象工厂、工厂方法、原型、单例、适配器、桥接、组合、装饰器、备忘录、观察者、状态、策略、模板方法、访问者
Stars: ✭ 547 (+2088%)
Mutual labels:  oop, design-patterns
design-patterns
Simple examples of Design Patterns with PHP Examples
Stars: ✭ 75 (+200%)
Mutual labels:  oop, design-patterns
Design Patterns
Contains examples of design patterns that implemented in php
Stars: ✭ 375 (+1400%)
Mutual labels:  oop, design-patterns
Designpatternsphp
sample code for several design patterns in PHP 8
Stars: ✭ 20,158 (+80532%)
Mutual labels:  oop, design-patterns
uml-diagram-for-kotlin-design-pattern-examples
UML diagram list of GoF design pattern examples written in Kotlin.
Stars: ✭ 23 (-8%)
Mutual labels:  design-patterns, gof
design-pattern-examples-in-python
UML model and code examples of design patterns for Python. The model is created with Astah.
Stars: ✭ 27 (+8%)
Mutual labels:  design-patterns, gof

Design Patterns in Java

Google Java Style MIT Build Status Coverage Status

Classic OOP Design Patterns from GoF, implemented in Java.


Design Patterns Implemented

Structural

  • UMLClass Adapterallows classes with incompatible interfaces to work together by wrapping its own interface around that of an already existing class
  • UMLObject Adapter
  • UMLFacadeprovides a simplified interface to a large body of code
  • UMLCompositecomposes zero-or-more similar objects so that they can be manipulated as one object
  • UMLDecoratordynamically adds/overrides behaviour in an existing method of an object
  • UMLProxyprovides a placeholder for another object to control access, reduce cost, and reduce complexity
  • UMLFlyweightreduces the cost of creating and manipulating a large number of similar objects
  • UMLBridgedecouples an abstraction from its implementation so that the two can vary independently

Creational

  • UMLFactory Methodcreates objects without specifying the exact class to create
  • UMLAbstract Factorygroups object factories that have a common theme
  • UMLPrototypecreates objects by cloning an existing object
  • UMLSingletonrestricts object creation for a class to only one instance
  • UMLBuilderconstructs complex objects by separating construction and representation

Behavioral

  • UMLTemplate Methoddefines the skeleton of an algorithm as an abstract class, allowing its subclasses to provide concrete behavior
  • UMLStrategyallows one of a family of algorithms to be selected on-the-fly at runtime
  • UMLStateallows an object to alter its behavior when its internal state changes
  • UMLCommandcreates objects which encapsulate actions and parameters
  • UMLObserveris a publish/subscribe pattern which allows a number of observer objects to see an event
  • UMLMediatorallows loose coupling between classes by being the only class that has detailed knowledge of their methods
  • UMLMementoprovides the ability to restore an object to its previous state (undo)
  • UMLIteratoraccesses the elements of an object sequentially without exposing its underlying representation
  • UMLVisitorseparates an algorithm from an object structure by moving the hierarchy of methods into one object
  • UMLChain of Responsabilitydelegates commands to a chain of processing objects

License

Licensed under MIT.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].