The Benefits of Patterns

Critical Review of

Authored By

 

 

Linda Rising

 

Group 13

  • Saksham
  • Shubham Virmani
  • Siddhant Roy
  • Saurabh Jaiswal
  • Vishal Sethi

Visa

Introduction of The Paper

  • This research paper highlights the importance of patterns, describing them as tools for higher level of higher abstraction.
  • It focuses on making a faster way of decision making.
  • Design patterns are among the most powerful methods for building large software system.
  • Patterns provide well known solutions to reoccurring problems that developers are facing.
  •  Author has shared her experience of developing a software project.
  • The design pattern which she was implementing soon turned out to be a complex web which caught them in a loop.
  • At that point some insightful person from the group suggested the use of mediator pattern.

Author's Personal Experience

Mediator Pattern

 

  • It defines an object that encapsulates how set of object interacts.
  • It allows object to communicate with a mediator object in between.
  • It could be implemented in any language.

Visitor Pattern

  • It includes a way of separating an algorithm from an object structure on which it operates.
  • It lets you add new operations without modifying old.

A novice designer can familiarize with design patterns through the following two models

  1. Giant Searchable Repository
  2. Training Model
  • Giant searchable repository – A struggling developer could reach out for a pattern for some sticky problem via searching through repository

 

 

  • Training Model – Providing individuals with some kind of formal training in pattern design facilitating them to identify relevant patterns.

Organizational Pattern

"No More Than 10"

Author suggests a new organizational pattern

No More Than 10

  • Limits the team max size to 10.
  • It includes people from testing and marketing also
  • It helps in keeping team morale high
  • Helps in escaping management attention
  • Even if the project is running late , it suggest on not adding more people

The pattern caught up well with the company because of its catchy name and the incorporated magic number ‘10’ and helped in solving various organizational problems

Major Drawbacks

  • The patterns mentioned have not been described or explained clearly in the text.
  • The paper is specific to the experiences of the author and does not provide a general perspective of the corporate world.
  • The ‘No more than 10’ pattern can delay large scale projects and the limit imposed on the workforce hinder effective marketing and product testing.

Critical Review of

Twenty Years of Pattern's Impact
 

Authored By

 

Gregor Hohpe

Rebbeca Wirfs-Brock

Joseph W.Yoder

Olaf Zimmermann

Group 13

  • Saksham
  • Shubham Virmani
  • Saurabh Jaiswal
  • Siddhant Roy 
  • Vishal Sethi
  • Design patterns give working solutions to recurring problems and guide us towards formulating the final solutions instead of using code snippets.
  • By using well known patterns reusable components can be built in frameworks.
  • Providing frameworks for re-usability and separation of concerns is the key to software development.

How It All Began

 

  • First small pattern language was built in 1987 for designing Smalltalk windows.
  • Beck and Booch sponsored a mountain retreat that triggered the formation of non profit group to foster pattern writing through the Pattern Language of Programming (PLoP) conference series.
  • Several books were published on Design Patterns.
  • In 2015, search of ‘Design Patterns’ on amazon results 27,712 results.

No Pattern Fatigue

  • The Pattern Alamanac 2000 listed more than 1000 Patterns.
  • PLoP conference has accepted more than 1500 papers.
  • As of 2013 there are about 7500 patterns along with 400 new patterns each year.
  • It gained traction for describing integration platform for service oriented architecture.
  • ESB routes filter and transform XML messages between services
  • But it failed to provide a shared vocabulary
  • Developers overcame this gap by using EIP which provided a shared vocabulary.

Enterprise Service Bus

  • It boosted productivity and aligned design mindset and implementation methods
  •  Before EIP ,documentation and passing information between humans was not a programming construct.

Enterprise Integration Patterns

Open Source ESBs

  •  Open Sourec ESBs make tracking of code size easy.
  • Community engagement provides for grading success, a healthy community suggests collaborative environment.
  • Open source ESBs develops a  healthy community that collaborates to resolve issues and drives
    the product’s evolution.

Open Source ESBs

Apache comprises about 890 KLOC, created by 62 committers over the course of more than 18,000 individual commits over six years.

Mule reports 3.6 million downloads on its homepage

Apache Camel core code growth over time

Patterns as Design Tools

  • Visual programming is beginning to gain popularity
  • Visual language tools are being built and integrated into different environments.

Implementation of Visual Language Pattern

Drawbacks of the Paper

  • Paper focuses too much on history and not on development or impact of patterns
  • Authors didn't mention the import milestones that may have changed the face of design patterns

SE - 2

By Saksham Arya