1/24
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
SRP
Single Responsibility Principle, a concept in object-oriented programming that states a class should have only one reason to change.
OCP
Open-Closed Principle, states that software entities should be open for extension, but closed for modification.
LSP
Liskov Substitution Principle, states that object of a superclass should be replaceble whit objects of its superclasses without breaking the application.
ISP
Interface Segregetion Principle, states that no code should be forced to depend on methods it dose not use.
DIP
Dependency Inversion Principle, is a software rule that dictate high-level, policy-making moudules should not depend on low-level utility modules.
Composition over Inheritance
classes should achive polymopich behavor and code reuse thrugh containded objects (“has-a relationship) rather than extending base classes (“is-a” relationships)
High Cohesion, Low Coupling
module or class focuses on one single, welldefined responsibility. Modules are independent,they interact only through minimal clear interfaces.
Law of Demeter / Principle of Least Knowledge
an object should only interact with its immedate friends
Defensive Programming
assume your code will recive invalid inputs,unexpected usage, or fail, and build safeguards to ensure the system remains stable.
Command-Query Sepration Principle
Every method in a system should ether preform an action (a command) or return data (a query)but never both.
Separation of Concern
Driving a system into distinct, self-contained modules where eatch addresses a specfic responsibility of feature.
Factory (Method)
Crestional design pattern that provides an interface for creating objects in a superclass, but allows superclasses to alter the type of objects that will be craated.
Template Method
behavoral design pattern that defines the skeleton of an algorithm in tha superclass butt lets subclasses override specific steps of the algorithm witout changing structure.
Bridge
Structural design pattern that lets you split a large class or a set of closely related classes into two seperate hierarches-abstraction and implementation-whitch can be developed inpendently of each outer.
State
behavioral design pattern thet lets an object alter its behavor whn its internal state changes. It appears as if the object changed its class.
Strategy
Behavioral designpattern that lets you define a family of algorithms, put each of them into a seprate class, and meke their objects interchangeble.
Module
implemnt the concept of software modules, defined by modular programing.
Facade
Stuctual design pattern that provides a simplified interface to a library, a framework, or any other complex set of classes.
Adapter
Structural design pattern that allows objects with incompatible interfacec to collaborate.
MVC
atchitectual pattern that separates an application into three interconnected components:the Model (data and business logic), the View (user interface) and the Controller (intermediary).
Observer
behvioral design pattern that lets you define a subscription mechanism to noteify multiple objects about any events that happen to the object they’re observing.
Defensive Copying
create an independent duplicate of a mutable object when passing it into or out of class.
Decorator
structural design pattern that lets yoy attach new behavors to objects by placing these object inside special wrapper objects that contain the behaviors.
Singleton
creational design pattern that lets you ensure that a class has only one instance, while providing a global accsess point this instance.