Skip to main content

Posts

Showing posts from October, 2018

Structural Design Patterns - Adapter

Structural Design Patterns in Swift Adapter : To unify the interfaces of incompatible classes that already exists Bridge : It decouples abstraction from its implementation, so that we can change them independently. It reduces the impact of changes Decorator : Used to add new responsibilities to objects without modifying the underlying classes Composite pattern : Describes how to combine objects so that each of them can be either simple or composite object. Facade : Allows us to expose functionality of entire sub system via single class Fly weight pattern : Used to effectively sharing no. of instances of a class by reducing number of object instances at runtime. Proxy pattern : Proxy objects acts as a surrogate for more complex objects that me expensive for create or use. Adapter : This pattern maps the existing interface to other interface. Eg., Two classes A and B are implementing a protocol P, so we use polymorphism to call the methods of A a...

Agile Overview

Agile Manifesto: Many processes like Scrum, Kanban, Lean, Extreme Programming(XP), Crystal Clear, Agile Unified Process, Dynamic Systems Development Method, Feature Driven Development, Agile Modeling  what they were doing is same so they came up with Agile Manifesto which is set of 4 Values and 12 principals. The 4 Values are: Individuals and Interactions Over Process and tools: As process and tools avoid direct interactions the agile manifesto values Interactions. Working Software Over  Documentation: Giving value to Woking software than the document which describes the software. Customer collaboration Over Contract: We should not stick to contract, as technology changes. Responding to change over plan We should unfollow plans and de prioritise tasks which take longer time  The 12 Principles of Agile Manifesto: Underlying Agile Concepts: Short Feedback Loops Just in Time Requirements and Design Software does not need blue prints like before b...