Design or Architecture Pattern?

Photo by Med Badr Chemmaoui on Unsplash

TL DR;

The Confusion

The Pattern of Design

Photo by ROOM on Unsplash

Design patterns are distilled commonality that you find in programs. It allows us to deconstruct a large complex structure and build using simple parts. It provides a general solution for a class of problems — pyfunc

  1. Creational patterns
    to provide object creation mechanisms that increase flexibility and reuse of existing code. Types: Abstract Factory, Builder, Factory Method, Object Pool, Prototype, Singleton.
  2. Structural patterns
    to explain how to assemble objects and classes into larger structures, while keeping the structures flexible and efficient. Types: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Private Class Data, Proxy.
  3. Behavioral patterns
    to take care of effective communication and the assignment of responsibilities between objects. Types: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Null Object, Observer, State, Strategy, Template Method, Visitor.
  • Design patterns are a toolkit of tried and tested solutions to common problems in software design. Even if you never encounter these problems, knowing patterns is still useful because it teaches you how to solve all sorts of problems using principles of object-oriented design.
  • Design patterns define a common language that you and your teammates can use to communicate more efficiently. You can say, “Oh, just use a Singleton for that.” and everyone will understand the idea behind your suggestion. No need to explain what a singleton is if you know the pattern and its name.

Design patterns say how to write code effectively, easy maintainable, high re-usability, and of course readable because of abstraction — vrluckyin

The Observer Pattern

Talk is cheap, show me the code

WeatherObservable.refresh()

The Pattern of Architecture

Photo by ROOM on Unsplash
  1. Layered pattern
  2. Client-server pattern
  3. Master-slave pattern
  4. Pipe-filter pattern
  5. Broker pattern
  6. Peer-to-peer pattern
  7. Event-bus pattern
  8. Model-view-controller pattern
  9. Blackboard pattern
  10. Interpreter pattern

Design vs Architecture

Photo by Andreas Brücker on Unsplash

--

--

--

“An idiot admires complexity. A genius admires simplicity.” — Terry A Davis

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Intel Dev Cloud access via SSH for oneAPI

Java Basics

Flutter vs. React Native: Which is Better for Your App?

Alternatives to CharlesProxy and Wireshark

OpenShift 4 “under-the-hood”

Learn to model objects and behaviors with Go series: An example with dish washing (Part 2)

Corda101 — Concurrent execution of flows for beginners. Part 2

Configuring GridDB with Puppet

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store