All Projects → JREAM → design-patterns

JREAM / design-patterns

Licence: other
Simple examples of Design Patterns with PHP Examples

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to design-patterns

The-Ruby-Workshop
A New, Interactive Approach to Learning Ruby
Stars: ✭ 26 (-65.33%)
Mutual labels:  oop, oop-principles
elegantobjects
Supplementary materials for "Elegant Objects" book
Stars: ✭ 23 (-69.33%)
Mutual labels:  oop, oop-principles
Java-Programs
Java Practiced Problems including concepts of OOPS, Interface, String , Collection.
Stars: ✭ 51 (-32%)
Mutual labels:  oop, design-patterns
cactoos-crypto
Crypto extensions for Cactoos library
Stars: ✭ 15 (-80%)
Mutual labels:  oop, oop-principles
ruby-patterns
NOTE: NO LONGER MAINTAINED
Stars: ✭ 33 (-56%)
Mutual labels:  design-patterns, oop-principles
design-patterns-cookbook
Design Patterns in simple words with examples on PHP
Stars: ✭ 26 (-65.33%)
Mutual labels:  oop, design-patterns
kactoos
General-purpose collection of OOP primitives for Kotlin
Stars: ✭ 19 (-74.67%)
Mutual labels:  oop, oop-principles
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 (+3508%)
Mutual labels:  oop, design-patterns
estore
Electronic Store Application - A web based application developed using PHP and Driven by MySQL Database
Stars: ✭ 48 (-36%)
Mutual labels:  oop, design-patterns
Front-End-Design-Patterns
Design Patterns
Stars: ✭ 25 (-66.67%)
Mutual labels:  oop, design-patterns
Design-Patterns
Project for learning and discuss about design patterns
Stars: ✭ 16 (-78.67%)
Mutual labels:  oop, design-patterns
Vert-Core
ServiceContainer for Vue to build Vue applications in OOP.
Stars: ✭ 20 (-73.33%)
Mutual labels:  oop, oop-principles
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 (+2025.33%)
Mutual labels:  oop, design-patterns
gof design patterns
GoF Design Patterns implemented in modern C++.
Stars: ✭ 21 (-72%)
Mutual labels:  design-patterns, oop-principles
Learning Oop In Php
A collection of resources to learn object-oriented programming and related concepts for PHP developers.
Stars: ✭ 2,359 (+3045.33%)
Mutual labels:  oop, design-patterns
express-mvc-pattern
Example nodejs using express implementation design pattern using mvc architecture.
Stars: ✭ 52 (-30.67%)
Mutual labels:  oop, design-patterns
Designpatterns
DesignPatterns samples by csharp on dotnetcore 《大话设计模式》 中设计模式总结/C#(.NETCore)代码
Stars: ✭ 73 (-2.67%)
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 (+13.33%)
Mutual labels:  oop, design-patterns
final-class
🔒 Final classes for Python3!
Stars: ✭ 17 (-77.33%)
Mutual labels:  oop, oop-principles
spring-SOLID
Spring 예제로 보는 SOLID
Stars: ✭ 53 (-29.33%)
Mutual labels:  oop, oop-principles

Design Patterns

These are design patterns in their simplest form. Currently the bold items are ones I have examples for.

More will come later on.

  • abstract_factory - Creates families of related objects.
  • adapter - Lets classes work together that don't have compatible interfaces.
  • builder - Separate construction of complex objects.
  • command - Add parameters to clients with different requets, and undoable operations.
  • composite - Composer objects in a tree structure and handle them individually.
  • decorator - Add more responsibility to objects dynamically.
  • dependency_injection - Easily share "services" across a platform. (DI, aka IoC/Inversion of Control)
  • facade - Makes subsystems easier to use.
  • factory - Creates a single subclass with that are similar.
  • front_controller - Most MVC's and web applications use this pattern.
  • iterator - Access elements of an aggregate object without knowing whats under the hood.
  • mediator - Decouples Objects and Coordinates them together with a middle man (Events, Notifications)
  • memento - No encapsulation, allows you to change an objects internal state
  • multi_inherit - Extend a base class and act as if we can extend other classes for added functionality
  • observer - (aka Publish/Subscribe) One to Many Dependency to notify that an object has changed.
  • prototype - Create new object by cloning from a skeleton of an object.
  • proxy - Placeholder for another object to acccess it.
  • singleton - Only allow one instance for an objects lifespan.
  • state - Alter an object when it changes state.
  • template method - Subclasses can redfine certain steps of without messing up the main structure.
  • visitor - New operations defined without change classes or elements it operates on.

About the Patterns

This is made to understand patterns as simple as possible. So here are a few things to know:

  • Notes are provided in the class.

  • I will not be using namespaces to keep it simple.

  • At the bottom of the class contain examples.

  • The name of the pattern is the name of the class.

  • Classes not requiring Abstract Classes and Interfaces are not included to keep it simple.

  • You would generally do this:

    • In most cases, change the name of the class(es).
    • Put your classes in separate files.

    --

    (c) 2016 Jesse Boyer | MIT License

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].