DESIGN_PRINCIPLE

Prototype Design Pattern

Introduction Prototype allows us to hide the complexity of making new instances from the client. The concept is to copy an existing object rather than creating a new instance from scratch, something that may include costly operations. The existing object acts as a prototype and contains the state of the [...]

2020-05-14T15:36:49+05:30Categories: Programming|Tags: |

Builder Design Pattern

Introduction Builder pattern Separate the construction of a complex object from its representation so that the same construction process can create different representations. It is used to construct a complex object step by step and the final step will return the object. Intent Separate the construction of a complex object [...]

2020-05-20T20:00:34+05:30Categories: Programming|Tags: |

Creational design patterns

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 added complexity to the design. Creational design patterns solve this problem by somehow controlling this [...]

2020-05-12T16:08:35+05:30Categories: Programming|Tags: |

FURPS Requirement Model

FURPS is an acronym representing a model for classifying software quality attributes: Functionality - Capability, Reusability, Security Usability - Human Factors, Aesthetics, Consistency, Documentation, Responsiveness Reliability - Availability, Predictability, Accuracy Performance - Speed, Efficiency, Resource Consumption, Throughput, Capacity, Scalability Supportability - Testability, Flexibility, Installability, Localizability The + was later added [...]

2024-04-17T23:18:26+05:30Categories: Programming|Tags: |

Model View Controller Design Pattern

The model view controller is a software pattern that is used for web development services such as applications; irrespective of the language. It is one of the most widely used paradigms in web development. Model represents the information (the data) of the application and the business rules used to manipulate [...]

2020-05-12T16:09:18+05:30Categories: Programming|Tags: |

Design Pastebin

Problem Design a system like Pastebin, where a user can enter a piece of text and get a randomly generated URL to access it. Solution Pastebin is a web service that enable users to store plain text over the network and generate unique URLs to access the uploaded data. It [...]

2020-05-23T13:18:45+05:30Categories: Interview|Tags: |

Product sales rank

Problem A large eCommerce company wishes to list the best-selling products, overall and by category. For example, one product might be the #1056th best-selling product overall but th #13th best-selling product under Sports Equipment and the #24th best-selling product under Safety. Describe how you would design the system Solution Scope the Problem First, [...]

2024-04-17T23:18:37+05:30Categories: Interview|Tags: |

Detect the duplicate URLs

Problem You have 10 billion URLs. How do you detect the duplicate documents? In this case, assume that "duplicate" means that the URLs are identical. Approach If each URL is an average of 100 characters, and each character is 4 bytes, then this list of 10 billion URLs will take [...]

2024-04-17T23:18:47+05:30Categories: Interview|Tags: |

Design a chat server

Explain how you would design a chat server. In particular, provide details about the various backend components, classes, and methods. What would be the hardest problems to solve? Lets try to start with analyzing the server requirements Server coordinate the chat activity. The server need to be running at all [...]

2024-04-17T23:19:29+05:30Categories: Programming|Tags: |
Go to Top