Skip to main content

Banana Monkey Jungle

Why functional over OO?

https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53

Inheritance

Banana Monkey Jungle
The diamond relationship
Fragile parent class
Categorical (Taxonomy) v. Containment (or Exclusive Ownership) Hierarchies

Encapsulation

Object passed by reference to an Object Constructor is not safe
Deep cloning
MC Hammer v. Immutability
Global Scope

Polymorphism


https://www.cs.utexas.edu/~mitra/csSummer2013/cs312/lectures/interfaces.html

Design by Behavior not Data

Comments

Popular posts from this blog

Velocity and Burn Rate Budget

This is a great summary of where to get to in how you budget projects. http://www.agileadvice.com/2011/02/04/agilemanagement/calculating-a-budget-for-an-agile-project-in-six-easy-steps/ Most importantly, Using the definition of “done” add pre- and post- Iteration budgets Every agile team is supposed to be “ cross-functional ” but in reality, there are limits to this.  For example, in most software project environments, teams do not include full-time lawyers.  This limited cross-functionality determines what the team is capable of delivering in each cycle – anything outside the team’s expertise is usually done as either pre-work or after the iterations (cycles) are finished.  Sometimes, this work can be done concurrently with the team.  In order to understand this work, it is often valuable to draw an organization-wide  value stream map  for project delivery.  This map will show you the proportion of time spent for each type of work in the proje...

Microservices Design Patterns

functional decomposition or domain-driven design well-defined interfaces  explicitly published interface  single responsibility principle potentially polyglot http://blog.arungupta.me/microservice-design-patterns/ http://blog.arungupta.me/microservices-monoliths-noops/ https://go.forrester.com/blogs/13-11-20-mobile_needs_a_four_tier_engagement_platform/ three-tier architecture — presentation, application, data vs. 4 tier -- client, delivery, aggregation, services