Design flow
- Sketches, wireframes, mockups, and prototypes actually represent the different stages of the design flow.
- They start from low-fidelity and end with high-fidelity respectively.
- The sketch is the simplest way to present an idea or initiative, even can be drawn in a piece of paper and has a minimum level of fidelity.
- Wireframe, a low-fidelity way to present a product, can efficiently outline structures and layouts.
- A mockup looks more like a finished product or prototype, but it is not interactive and not clickable.
- A Prototype has an interactive attribute and has a maximum level of fidelity and is interactive and clickable.
- They start from low-fidelity and end with high-fidelity respectively.
Design Patterns
- A Design Pattern is a general, reusable solution to a commonly occurring problem within a given context in software design
- It is generally divided into three main categories :
- creational design patterns,
- structural design patterns, and
- behavioral design patterns.
- It is generally divided into three main categories :
Creational design patterns
- In software engineering, creational design patterns are design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation.
- The basic form of object creation could result in design problems or in added complexity to the design.
- Creational design patterns solve this problem by somehow controlling this object creation.
- Creational design patterns are composed of two dominant ideas.
- One is encapsulating knowledge about which concrete classes the system uses.
- Another is hiding how instances of these concrete classes are created and combined.
- Creational design patterns are further categorized into object
- Creational patterns and Class-creational patterns, where Object-creational patterns deal with Object creation and Class-creational patterns deal with Class-instantiation.
- In greater details, Object-creational patterns defer part of its object creation to another object, while Class-creational patterns defer its object creation to subclasses.
- Creational design patterns are composed of two dominant ideas.
Five well-known Creational design patterns
- Abstract factory pattern, which provides an interface for creating related or dependent objects without specifying the objects’ concrete classes.
- Builder pattern, which separates the construction of a complex object from its representation so that the same construction process can create different representations.
- Factory method pattern, which allows a class to defer instantiation to subclasses.
- Prototype pattern, which specifies the kind of object to create using a prototypical instance, and creates new objects by cloning this prototype.
- Singleton pattern, which ensures that a class only has one instance, and provides a global point of access to it.
Structural design patterns
- In software engineering, structural design patterns are design patterns that ease the design by identifying a simple way to realize relationships among entities.
Behavioral design patterns
- In software engineering, behavioral design patterns are design patterns that identify common communication patterns among objects.
- By doing so, these patterns increase flexibility in carrying out communication.
Domain-driven Design
- Domain-Driven Design (DDD) is the concept that the structure and language of software code (class names, class methods, class variables) should match the business domain.
- For example, if a software processes loan applications, it might have classes such as Loan Application and Customer, and methods such as Accept, Offer and Withdraw.
- DDD connects the implementation to an evolving model.
- Domain-driven design is predicated on the following goals:
- placing the project’s primary focus on the core domain and domain logic;
- basing complex designs on a model of the domain;
- initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.
Scrum and Software Development Practices
More informations for the Scrum PSD certification here.
Updated : 04/09/2021