Different Types of Software Design Principles
Software design principles are a set of guidelines that helps developers to make a good system design. Common software design principles are given bellow: SOLID DRY (Don’t Repeat Yourself) KISS …
tutorials | source code | tips & tricks
Software design principles are a set of guidelines that helps developers to make a good system design. Common software design principles are given bellow: SOLID DRY (Don’t Repeat Yourself) KISS …
Multitenancy is when several different customers are accessing the same computing resources. For example consider, when several different companies are storing data on the same physical server. Multi-tenancy is an …
SOLID is the short form of 5 important design principles when doing OOD. It helps to make software designs more understandable, easier to maintain and easier to extend. As an …
Adapter design pattern allows incompatible classes to work together by converting the interface of one class into another. It’s like a translator. When two heads of countries who don’t speak …
Composite design pattern is a tree structure containing individual objects mixed with compositions of objects. That means, objects that have other objects as their children. This pattern allows us to …
The one of the simplest design patterns is Singleton pattern. This pattern ensures that a class has only one instance in the whole application and provides a global point of …
Strategy Pattern is very interesting and easy design pattern. This pattern is generally used to change the algorithm or the common behavior of an object at runtime. Think of an …
In Facade pattern, a single class represents an entire complex system. It provides a simplified interface to a library, a framework, or any other complex set of classes. For example …
The prototype pattern creates a new object from the existing instance of the object. This pattern is used to create a duplicate object or clone of the current object to …
Software Architect and Software Engineer are different roles. But this two roles collaborate closely to make right software solutions for the business needs. Some key points abut software architect vs …
Dependency Injection (DI) is a programming technique that makes a class independent from its dependencies. This article describes a quick overview of dependency injection: what is it, and when to …
Microservices are the smartest software development techniques. Let’s discuss some important points about Microservice architecture. Summary of the article: What is monolithic architecture? What is Microservices architecture? Why we need …
Object Oriented (OO) techniques can be applied in the phases of software life cycle (analysis, design, implementation, etc). This article describes about object oriented analysis, how to use OOA in …
Lot of software’s are available to handle the changes of computer files including documents and computer programs or source codes to make sure the system runs smoothly and efficiently. This …
In the field of Software Engineering, the UML or Unified Modeling Language is a standardized modeling language that contains a set of integrated diagrams, provides a standard way to visualize …
Object Oriented (OO) concepts can be applied in the phases of software development life cycle (analysis, design, and implementation). It is very important to understand the OO analysis and design …
Test driven development is an advanced technique that uses unit tests to drive the design of software. It is a technique for building software that guides software development by writing …
Domain Driven Design or DDD is a software development technique. This article explains about the basic overview of Domain Driven Design (DDD), some key features of DDD. Summary of the …
Design pattern is a guideline to find a solution for commonly occurring problems. Now a day’s design pattern and software design questions are essential part of any programming interview, especially …
In software engineering, design pattern is a written document that describes a general solution to a design problem that occurs repeatedly in many projects. Software developers use this pattern in …
Scrum is lightweight agile software development methodologies. Scrum is mainly used for software development, but it works well for any complex, innovative scope of work. It describes an iterative and …