SYMBOL INDEX (945 symbols across 79 files) FILE: Abstract Factory Design Pattern/Furniture /C++/furniture.cpp class Sofa (line 4) | class Sofa { class Chair (line 10) | class Chair { class Table (line 16) | class Table { class ModernSofa (line 22) | class ModernSofa : public Sofa { method sitOn (line 24) | void sitOn() override { class ModernChair (line 29) | class ModernChair : public Chair { method sitOn (line 31) | void sitOn() override { class ModernTable (line 36) | class ModernTable : public Table { method place (line 38) | void place() override { class TraditionalSofa (line 44) | class TraditionalSofa : public Sofa { method sitOn (line 46) | void sitOn() override { class TraditionalChair (line 51) | class TraditionalChair : public Chair { method sitOn (line 53) | void sitOn() override { class TraditionalTable (line 58) | class TraditionalTable : public Table { method place (line 60) | void place() override { class FurnitureFactory (line 66) | class FurnitureFactory { method FurnitureFactory (line 72) | static FurnitureFactory* CreateFurnitureFactory(std::string type) { class ModernFurnitureFactory (line 84) | class ModernFurnitureFactory : public FurnitureFactory { method Sofa (line 86) | Sofa* createSofa() override { method Chair (line 90) | Chair* createChair() override { method Table (line 94) | Table* createTable() override { class TraditionalFurnitureFactory (line 100) | class TraditionalFurnitureFactory : public FurnitureFactory { method Sofa (line 102) | Sofa* createSofa() override { method Chair (line 106) | Chair* createChair() override { method Table (line 110) | Table* createTable() override { function main (line 115) | int main() { FILE: Abstract Factory Design Pattern/Furniture /JAVA/furniture.java type Sofa (line 1) | interface Sofa { method sitOn (line 2) | void sitOn(); type Chair (line 6) | interface Chair { method sitOn (line 7) | void sitOn(); type Table (line 11) | interface Table { method place (line 12) | void place(); class ModernSofa (line 16) | class ModernSofa implements Sofa { method sitOn (line 17) | public void sitOn() { class ModernChair (line 22) | class ModernChair implements Chair { method sitOn (line 23) | public void sitOn() { class ModernTable (line 28) | class ModernTable implements Table { method place (line 29) | public void place() { class TraditionalSofa (line 35) | class TraditionalSofa implements Sofa { method sitOn (line 36) | public void sitOn() { class TraditionalChair (line 41) | class TraditionalChair implements Chair { method sitOn (line 42) | public void sitOn() { class TraditionalTable (line 47) | class TraditionalTable implements Table { method place (line 48) | public void place() { type FurnitureFactory (line 54) | interface FurnitureFactory { method createSofa (line 55) | Sofa createSofa(); method createChair (line 56) | Chair createChair(); method createTable (line 57) | Table createTable(); method createFurnitureFactory (line 59) | public static FurnitureFactory createFurnitureFactory(String type) { class ModernFurnitureFactory (line 71) | class ModernFurnitureFactory implements FurnitureFactory { method createSofa (line 72) | public Sofa createSofa() { method createChair (line 76) | public Chair createChair() { method createTable (line 80) | public Table createTable() { class TraditionalFurnitureFactory (line 86) | class TraditionalFurnitureFactory implements FurnitureFactory { method createSofa (line 87) | public Sofa createSofa() { method createChair (line 91) | public Chair createChair() { method createTable (line 95) | public Table createTable() { class furniture (line 100) | public class furniture { method main (line 101) | public static void main(String[] args) { FILE: Abstract Factory Design Pattern/Furniture /Javascript/furniture.js class Sofa (line 2) | class Sofa { method sitOn (line 3) | sitOn() {} class Chair (line 7) | class Chair { method sitOn (line 8) | sitOn() {} class Table (line 12) | class Table { method place (line 13) | place() {} class ModernSofa (line 17) | class ModernSofa extends Sofa { method sitOn (line 18) | sitOn() { class ModernChair (line 23) | class ModernChair extends Chair { method sitOn (line 24) | sitOn() { class ModernTable (line 29) | class ModernTable extends Table { method place (line 30) | place() { class TraditionalSofa (line 36) | class TraditionalSofa extends Sofa { method sitOn (line 37) | sitOn() { class TraditionalChair (line 42) | class TraditionalChair extends Chair { method sitOn (line 43) | sitOn() { class TraditionalTable (line 48) | class TraditionalTable extends Table { method place (line 49) | place() { class FurnitureFactory (line 55) | class FurnitureFactory { method createSofa (line 56) | createSofa() {} method createChair (line 57) | createChair() {} method createTable (line 58) | createTable() {} method createFurnitureFactory (line 60) | static createFurnitureFactory(type) { class ModernFurnitureFactory (line 72) | class ModernFurnitureFactory extends FurnitureFactory { method createSofa (line 73) | createSofa() { method createChair (line 77) | createChair() { method createTable (line 81) | createTable() { class TraditionalFurnitureFactory (line 87) | class TraditionalFurnitureFactory extends FurnitureFactory { method createSofa (line 88) | createSofa() { method createChair (line 92) | createChair() { method createTable (line 96) | createTable() { function main (line 101) | function main() { FILE: Abstract Factory Design Pattern/Furniture /Python/furniture.py class Sofa (line 2) | class Sofa: method sit_on (line 3) | def sit_on(self): class Chair (line 7) | class Chair: method sit_on (line 8) | def sit_on(self): class Table (line 12) | class Table: method place (line 13) | def place(self): class ModernSofa (line 17) | class ModernSofa(Sofa): method sit_on (line 18) | def sit_on(self): class ModernChair (line 21) | class ModernChair(Chair): method sit_on (line 22) | def sit_on(self): class ModernTable (line 25) | class ModernTable(Table): method place (line 26) | def place(self): class TraditionalSofa (line 30) | class TraditionalSofa(Sofa): method sit_on (line 31) | def sit_on(self): class TraditionalChair (line 34) | class TraditionalChair(Chair): method sit_on (line 35) | def sit_on(self): class TraditionalTable (line 38) | class TraditionalTable(Table): method place (line 39) | def place(self): class FurnitureFactory (line 43) | class FurnitureFactory: method create_sofa (line 44) | def create_sofa(self): method create_chair (line 47) | def create_chair(self): method create_table (line 50) | def create_table(self): method create_furniture_factory (line 54) | def create_furniture_factory(type): class ModernFurnitureFactory (line 63) | class ModernFurnitureFactory(FurnitureFactory): method create_sofa (line 64) | def create_sofa(self): method create_chair (line 67) | def create_chair(self): method create_table (line 70) | def create_table(self): class TraditionalFurnitureFactory (line 74) | class TraditionalFurnitureFactory(FurnitureFactory): method create_sofa (line 75) | def create_sofa(self): method create_chair (line 78) | def create_chair(self): method create_table (line 81) | def create_table(self): function main (line 84) | def main(): FILE: Abstract Factory Design Pattern/UI/C++/ui.cpp class Ibutton (line 5) | class Ibutton{ class ITextbox (line 10) | class ITextbox{ class MacButton (line 16) | class MacButton : public Ibutton{ method press (line 18) | void press(){ class WinButton (line 24) | class WinButton : public Ibutton{ method press (line 26) | void press(){ class MacTextBox (line 32) | class MacTextBox : public ITextbox{ method settext (line 34) | void settext(){ class WinTextBox (line 40) | class WinTextBox : public ITextbox{ method settext (line 42) | void settext(){ class IFactory (line 48) | class IFactory{ class WinFactory (line 55) | class WinFactory : public IFactory{ method Ibutton (line 57) | Ibutton* createbutton(){ method ITextbox (line 60) | ITextbox* createtextbox(){ class MacFactory (line 66) | class MacFactory : public IFactory{ method Ibutton (line 68) | Ibutton* createbutton(){ method ITextbox (line 71) | ITextbox* createtextbox(){ class GUIAbstractfactory (line 77) | class GUIAbstractfactory{ method IFactory (line 79) | static IFactory* createfactory(string ostype){ function main (line 91) | int main(){ FILE: Abstract Factory Design Pattern/UI/JAVA/UI.java type IButton (line 3) | interface IButton { method press (line 4) | void press(); type ITextbox (line 7) | interface ITextbox { method settext (line 8) | void settext(); class MacButton (line 11) | class MacButton implements IButton { method press (line 12) | @Override class WinButton (line 18) | class WinButton implements IButton { method press (line 19) | @Override class MacTextBox (line 25) | class MacTextBox implements ITextbox { method settext (line 26) | @Override class WinTextBox (line 32) | class WinTextBox implements ITextbox { method settext (line 33) | @Override type IFactory (line 39) | interface IFactory { method createButton (line 40) | IButton createButton(); method createTextbox (line 41) | ITextbox createTextbox(); class WinFactory (line 44) | class WinFactory implements IFactory { method createButton (line 45) | @Override method createTextbox (line 50) | @Override class MacFactory (line 56) | class MacFactory implements IFactory { method createButton (line 57) | @Override method createTextbox (line 62) | @Override class GUIAbstractFactory (line 68) | class GUIAbstractFactory { method createFactory (line 69) | public static IFactory createFactory(String osType) { class UI (line 80) | public class UI { method main (line 81) | public static void main(String[] args) { FILE: Adapter Design Pattern/Class Adapter/C++/xml_to_json.cpp class JSONAnalyticsTool (line 6) | class JSONAnalyticsTool method setJsonData (line 11) | void setJsonData(string jsonData) { method AnalyzeData (line 14) | void AnalyzeData() class AnalyticsTool (line 26) | class AnalyticsTool { class XMLToJSONAdapter (line 34) | class XMLToJSONAdapter : public AnalyticsTool, public JSONAnalyticsTool method XMLToJSONAdapter (line 37) | XMLToJSONAdapter(string xmlData) { method AnalyzeData (line 43) | void AnalyzeData() function main (line 50) | int main() FILE: Adapter Design Pattern/Object Adapter/C++/xml_to_json.cpp class JSONAnalyticsTool (line 6) | class JSONAnalyticsTool method setJsonData (line 11) | void setJsonData(string jsonData) { method AnalyzeData (line 14) | void AnalyzeData() class AnalyticsTool (line 26) | class AnalyticsTool { class XMLToJSONAdapter (line 33) | class XMLToJSONAdapter : public AnalyticsTool method XMLToJSONAdapter (line 39) | XMLToJSONAdapter(string xmlData) { method AnalyzeData (line 45) | void AnalyzeData() function main (line 52) | int main() FILE: Adapter Design Pattern/Object Adapter/JAVA/XmlToJson.java class JSONAnalyticsTool (line 1) | class JSONAnalyticsTool { method setJsonData (line 4) | public void setJsonData(String jsonData) { method AnalyzeData (line 8) | public void AnalyzeData() { type AnalyticsTool (line 17) | interface AnalyticsTool { method AnalyzeData (line 18) | void AnalyzeData(); class XMLToJSONAdapter (line 21) | class XMLToJSONAdapter implements AnalyticsTool { method XMLToJSONAdapter (line 24) | public XMLToJSONAdapter(String xmlData) { method AnalyzeData (line 31) | public void AnalyzeData() { class XmlToJson (line 36) | public class XmlToJson { method main (line 37) | public static void main(String[] args) { FILE: Bridge Design Pattern/C++/uber.cpp class NavigationImpl (line 6) | class NavigationImpl class GoogleMaps (line 13) | class GoogleMaps : public NavigationImpl method navigateTo (line 16) | void navigateTo(string destination) class AppleMaps (line 24) | class AppleMaps : public NavigationImpl method navigateTo (line 27) | void navigateTo(string destination) class NavigationSystem (line 35) | class NavigationSystem class UberRide (line 45) | class UberRide : public NavigationSystem method UberRide (line 52) | UberRide(string driverName) : driverName(driverName) {} method navigate (line 54) | void navigate(string destination) method setNavigationImpl (line 60) | void setNavigationImpl(NavigationImpl *impl) class UberEats (line 67) | class UberEats : public NavigationSystem method UberEats (line 73) | UberEats(string restaurantName) : restaurantName(restaurantName) {} method navigate (line 75) | void navigate(string destination) method setNavigationImpl (line 81) | void setNavigationImpl(NavigationImpl *impl) function main (line 87) | int main() FILE: Bridge Design Pattern/JAVA/UberDemo.java type NavigationImpl (line 2) | interface NavigationImpl { method navigateTo (line 3) | void navigateTo(String destination); type NavigationSystem (line 7) | interface NavigationSystem { method navigate (line 8) | void navigate(String destination); class UberRide (line 12) | class UberRide implements NavigationSystem { method UberRide (line 16) | public UberRide(String driverName) { method setNavigationImpl (line 20) | public void setNavigationImpl(NavigationImpl impl) { method navigate (line 24) | public void navigate(String destination) { class UberEats (line 31) | class UberEats implements NavigationSystem { method UberEats (line 35) | public UberEats(String restaurantName) { method setNavigationImpl (line 39) | public void setNavigationImpl(NavigationImpl impl) { method navigate (line 43) | public void navigate(String destination) { class GoogleMaps (line 50) | class GoogleMaps implements NavigationImpl { method navigateTo (line 51) | public void navigateTo(String destination) { class AppleMaps (line 58) | class AppleMaps implements NavigationImpl { method navigateTo (line 59) | public void navigateTo(String destination) { class UberDemo (line 65) | public class UberDemo { method main (line 66) | public static void main(String[] args) { FILE: Builder Design Pattern/Builder with Chaining/C++/desktop.cpp class Desktop (line 5) | class Desktop method display (line 14) | void display() class DesktopBuilder (line 25) | class DesktopBuilder method Desktop (line 37) | Desktop build() class DellDesktopBuilder (line 43) | class DellDesktopBuilder : public DesktopBuilder method DesktopBuilder (line 46) | DesktopBuilder &buildMotherboard() method DesktopBuilder (line 52) | DesktopBuilder &buildProcessor() method DesktopBuilder (line 58) | DesktopBuilder &buildMemory() method DesktopBuilder (line 64) | DesktopBuilder &buildStorage() method DesktopBuilder (line 70) | DesktopBuilder &buildGraphicsCard() class HpDesktopBuilder (line 77) | class HpDesktopBuilder : public DesktopBuilder method DesktopBuilder (line 80) | DesktopBuilder &buildMotherboard() method DesktopBuilder (line 86) | DesktopBuilder &buildProcessor() method DesktopBuilder (line 92) | DesktopBuilder &buildMemory() method DesktopBuilder (line 98) | DesktopBuilder &buildStorage() method DesktopBuilder (line 104) | DesktopBuilder &buildGraphicsCard() class DesktopDirector (line 111) | class DesktopDirector method Desktop (line 114) | Desktop buildComputer(DesktopBuilder &builder) function main (line 120) | int main() FILE: Builder Design Pattern/Builder with Chaining/JAVA/DesktopBuilderDemo.java class Desktop (line 1) | class Desktop { method display (line 8) | void display() { class DesktopBuilder (line 18) | abstract class DesktopBuilder { method buildMotherboard (line 21) | abstract DesktopBuilder buildMotherboard(); method buildProcessor (line 23) | abstract DesktopBuilder buildProcessor(); method buildMemory (line 25) | abstract DesktopBuilder buildMemory(); method buildStorage (line 27) | abstract DesktopBuilder buildStorage(); method buildGraphicsCard (line 29) | abstract DesktopBuilder buildGraphicsCard(); method build (line 31) | Desktop build() { class DellDesktopBuilder (line 36) | class DellDesktopBuilder extends DesktopBuilder { method DellDesktopBuilder (line 37) | DellDesktopBuilder() { method buildMotherboard (line 41) | @Override method buildProcessor (line 47) | @Override method buildMemory (line 53) | @Override method buildStorage (line 59) | @Override method buildGraphicsCard (line 65) | @Override class HpDesktopBuilder (line 72) | class HpDesktopBuilder extends DesktopBuilder { method HpDesktopBuilder (line 73) | HpDesktopBuilder() { method buildMotherboard (line 77) | @Override method buildProcessor (line 83) | @Override method buildMemory (line 89) | @Override method buildStorage (line 95) | @Override method buildGraphicsCard (line 101) | @Override class DesktopDirector (line 108) | class DesktopDirector { method buildDesktop (line 109) | Desktop buildDesktop(DesktopBuilder builder) { class DesktopBuilderDemo (line 114) | public class DesktopBuilderDemo { method main (line 115) | public static void main(String[] args) { FILE: Builder Design Pattern/C++/desktop.cpp class Desktop (line 4) | class Desktop method display (line 13) | void display() class DesktopBuilder (line 24) | class DesktopBuilder method Desktop (line 36) | Desktop getDesktop() class DellDesktopBuilder (line 42) | class DellDesktopBuilder : public DesktopBuilder method buildMotherboard (line 45) | void buildMotherboard() method buildProcessor (line 50) | void buildProcessor() method buildMemory (line 55) | void buildMemory() method buildStorage (line 60) | void buildStorage() method buildGraphicsCard (line 65) | void buildGraphicsCard() class HpDesktopBuilder (line 71) | class HpDesktopBuilder : public DesktopBuilder method buildMotherboard (line 74) | void buildMotherboard() method buildProcessor (line 79) | void buildProcessor() method buildMemory (line 84) | void buildMemory() method buildStorage (line 89) | void buildStorage() method buildGraphicsCard (line 94) | void buildGraphicsCard() class DesktopDirector (line 100) | class DesktopDirector method Desktop (line 103) | Desktop buildDesktop(DesktopBuilder &builder) function main (line 114) | int main() FILE: Builder Design Pattern/JAVA/DesktopBuilderDemo.java class Desktop (line 1) | class Desktop { method display (line 8) | public void display() { method getMotherboard (line 17) | public String getMotherboard() { method setMotherboard (line 21) | public void setMotherboard(String motherboard) { method getProcessor (line 25) | public String getProcessor() { method setProcessor (line 29) | public void setProcessor(String processor) { method getMemory (line 33) | public String getMemory() { method setMemory (line 37) | public void setMemory(String memory) { method getStorage (line 41) | public String getStorage() { method setStorage (line 45) | public void setStorage(String storage) { method getGraphicsCard (line 49) | public String getGraphicsCard() { method setGraphicsCard (line 53) | public void setGraphicsCard(String graphicsCard) { class DesktopBuilder (line 58) | abstract class DesktopBuilder { method buildMotherboard (line 61) | public abstract void buildMotherboard(); method buildProcessor (line 63) | public abstract void buildProcessor(); method buildMemory (line 65) | public abstract void buildMemory(); method buildStorage (line 67) | public abstract void buildStorage(); method buildGraphicsCard (line 69) | public abstract void buildGraphicsCard(); method getDesktop (line 71) | public Desktop getDesktop() { class DellDesktopBuilder (line 76) | class DellDesktopBuilder extends DesktopBuilder { method buildMotherboard (line 77) | public void buildMotherboard() { method buildProcessor (line 81) | public void buildProcessor() { method buildMemory (line 85) | public void buildMemory() { method buildStorage (line 89) | public void buildStorage() { method buildGraphicsCard (line 93) | public void buildGraphicsCard() { class HpDesktopBuilder (line 98) | class HpDesktopBuilder extends DesktopBuilder { method buildMotherboard (line 99) | public void buildMotherboard() { method buildProcessor (line 103) | public void buildProcessor() { method buildMemory (line 107) | public void buildMemory() { method buildStorage (line 111) | public void buildStorage() { method buildGraphicsCard (line 115) | public void buildGraphicsCard() { class DesktopDirector (line 120) | class DesktopDirector { method buildDesktop (line 121) | public Desktop buildDesktop(DesktopBuilder builder) { class DesktopBuilderDemo (line 131) | public class DesktopBuilderDemo { method main (line 132) | public static void main(String[] args) { FILE: Chain of Responsibility Design Pattern/C++/swiggy_order.cpp class OrderHandler (line 6) | class OrderHandler { method OrderHandler (line 10) | OrderHandler(OrderHandler* nextHandler) : nextHandler(nextHandler) {} class OrderValidationHandler (line 16) | class OrderValidationHandler : public OrderHandler { method OrderValidationHandler (line 18) | OrderValidationHandler(OrderHandler* nextHandler) : OrderHandler(nextH... method processOrder (line 20) | void processOrder(const string& order) { class PaymentProcessingHanlder (line 33) | class PaymentProcessingHanlder : public OrderHandler { method PaymentProcessingHanlder (line 35) | PaymentProcessingHanlder(OrderHandler* nextHandler) : OrderHandler(nex... method processOrder (line 37) | void processOrder(const string& order) { class OrderPreparationHandler (line 50) | class OrderPreparationHandler : public OrderHandler { method OrderPreparationHandler (line 52) | OrderPreparationHandler(OrderHandler* nexxtHandler) : OrderHandler(nex... method processOrder (line 54) | void processOrder(const string& order) { class DeliveryAssignmentHandler (line 66) | class DeliveryAssignmentHandler : public OrderHandler { method DeliveryAssignmentHandler (line 68) | DeliveryAssignmentHandler(OrderHandler* nexxtHandler) : OrderHandler(n... method processOrder (line 70) | void processOrder(const string& order) { class OrderTrackingHandler (line 83) | class OrderTrackingHandler : public OrderHandler { method OrderTrackingHandler (line 85) | OrderTrackingHandler(OrderHandler* nexxtHandler) : OrderHandler(nextHa... method processOrder (line 87) | void processOrder(const string& order) { function main (line 99) | int main() { FILE: Chain of Responsibility Design Pattern/JAVA/SwiggyOrder.java class OrderHandler (line 2) | abstract class OrderHandler { method OrderHandler (line 5) | public OrderHandler(OrderHandler nextHandler) { method processOrder (line 9) | public abstract void processOrder(String order); class OrderValidationHandler (line 13) | class OrderValidationHandler extends OrderHandler { method OrderValidationHandler (line 14) | public OrderValidationHandler(OrderHandler nextHandler) { method processOrder (line 18) | @Override class PaymentProcessingHandler (line 31) | class PaymentProcessingHandler extends OrderHandler { method PaymentProcessingHandler (line 32) | public PaymentProcessingHandler(OrderHandler nextHandler) { method processOrder (line 36) | @Override class OrderPreparationHandler (line 49) | class OrderPreparationHandler extends OrderHandler { method OrderPreparationHandler (line 50) | public OrderPreparationHandler(OrderHandler nextHandler) { method processOrder (line 54) | @Override class DeliveryAssignmentHandler (line 67) | class DeliveryAssignmentHandler extends OrderHandler { method DeliveryAssignmentHandler (line 68) | public DeliveryAssignmentHandler(OrderHandler nextHandler) { method processOrder (line 72) | @Override class OrderTrackingHandler (line 85) | class OrderTrackingHandler extends OrderHandler { method OrderTrackingHandler (line 86) | public OrderTrackingHandler(OrderHandler nextHandler) { method processOrder (line 90) | @Override class SwiggyOrder (line 97) | public class SwiggyOrder { method main (line 98) | public static void main(String[] args) { FILE: Command Design Pattern/C++/document.cpp class ActionListenerCommand (line 6) | class ActionListenerCommand { class Document (line 13) | class Document { method open (line 15) | void open() { method save (line 19) | void save() { class ActionOpen (line 25) | class ActionOpen : public ActionListenerCommand { method ActionOpen (line 30) | ActionOpen(Document* document) : doc(document) {} method execute (line 32) | void execute() { class ActionSave (line 38) | class ActionSave : public ActionListenerCommand { method ActionSave (line 43) | ActionSave(Document* document) : doc(document) {} method execute (line 45) | void execute() { class MenuOptions (line 51) | class MenuOptions { method addCommand (line 56) | void addCommand(ActionListenerCommand* command) { method executeCommands (line 60) | void executeCommands() { function main (line 67) | int main() { FILE: Command Design Pattern/C++/uber_rides.cpp class RideService (line 6) | class RideService { method requestRide (line 8) | void requestRide(const string& passenger, const string& srcLoc, const ... method cancelRide (line 14) | void cancelRide(const string& passenger) { class Command (line 21) | class Command { class RideRequestCommand (line 28) | class RideRequestCommand : public Command { method RideRequestCommand (line 36) | RideRequestCommand(RideService* receiver, const string& passenger, con... method execute (line 39) | void execute() override { class CancelRideCommand (line 45) | class CancelRideCommand : public Command { method CancelRideCommand (line 51) | CancelRideCommand(RideService* receiver, const string& passenger) method execute (line 54) | void execute() override { class RideRequestInvoker (line 60) | class RideRequestInvoker { method processRequest (line 62) | void processRequest(Command* command) { function main (line 67) | int main() { FILE: Command Design Pattern/JAVA/DocumentDemo.java type ActionListenerCommand (line 4) | interface ActionListenerCommand { method execute (line 5) | void execute(); class Document (line 9) | class Document { method open (line 10) | public void open() { method save (line 14) | public void save() { class ActionOpen (line 20) | class ActionOpen implements ActionListenerCommand { method ActionOpen (line 23) | public ActionOpen(Document doc) { method execute (line 27) | @Override class ActionSave (line 34) | class ActionSave implements ActionListenerCommand { method ActionSave (line 37) | public ActionSave(Document doc) { method execute (line 41) | @Override class MenuOptions (line 48) | class MenuOptions { method addCommand (line 51) | public void addCommand(ActionListenerCommand command) { method executeCommands (line 55) | public void executeCommands() { class DocumentDemo (line 62) | public class DocumentDemo { method main (line 63) | public static void main(String[] args) { FILE: Command Design Pattern/JAVA/UberRidesDemo.java class RideService (line 2) | class RideService { method requestRide (line 3) | public void requestRide(String passenger, String srcLoc, String destLo... method cancelRide (line 9) | public void cancelRide(String passenger) { type Command (line 16) | interface Command { method execute (line 17) | void execute(); class RideRequestCommand (line 21) | class RideRequestCommand implements Command { method RideRequestCommand (line 27) | public RideRequestCommand(RideService receiver, String passenger, Stri... method execute (line 34) | public void execute() { class CancelRideCommand (line 40) | class CancelRideCommand implements Command { method CancelRideCommand (line 44) | public CancelRideCommand(RideService receiver, String passenger) { method execute (line 49) | public void execute() { class RideRequestInvoker (line 55) | class RideRequestInvoker { method processRequest (line 56) | public void processRequest(Command command) { class UberRidesDemo (line 61) | public class UberRidesDemo { method main (line 62) | public static void main(String[] args) { FILE: Composite Design Pattern/C++/directorystructure.cpp class FileSystemComponent (line 4) | class FileSystemComponent { class File (line 10) | class File : public FileSystemComponent { method File (line 16) | File(const string& fileName, int fileSize) : name(fileName), size(file... method listContents (line 18) | void listContents() const override { method getSize (line 22) | int getSize() const override { class Directory (line 29) | class Directory : public FileSystemComponent { method Directory (line 35) | Directory(const string& dirName) : name(dirName) {} method addComponent (line 37) | void addComponent(FileSystemComponent* component) { method listContents (line 41) | void listContents() const override { method getSize (line 48) | int getSize() const override { function main (line 57) | int main() { FILE: Composite Design Pattern/C++/employee.cpp class EmployeeComponent (line 5) | class EmployeeComponent { class Employee (line 12) | class Employee : public EmployeeComponent { method Employee (line 18) | Employee(string empName, double empSalary) : name(empName), salary(emp... method displayInfo (line 20) | void displayInfo() override { method calculateSalary (line 24) | double calculateSalary() override { class Department (line 29) | class Department : public EmployeeComponent { method Department (line 35) | Department(string deptName) : name(deptName) {} method addMember (line 37) | void addMember(EmployeeComponent* member) { method displayInfo (line 41) | void displayInfo() override { method calculateSalary (line 48) | double calculateSalary() override { class Team (line 57) | class Team : public EmployeeComponent { method Team (line 63) | Team(string teamName) : name(teamName) {} method addMember (line 65) | void addMember(EmployeeComponent* member) { method displayInfo (line 69) | void displayInfo() override { method calculateSalary (line 76) | double calculateSalary() override { function main (line 86) | int main() { FILE: Composite Design Pattern/JAVA/EmployeesDemo.java class EmployeeComponent (line 3) | abstract class EmployeeComponent { method displayInfo (line 4) | public abstract void displayInfo(); method calculateSalary (line 5) | public abstract double calculateSalary(); class Employee (line 8) | class Employee extends EmployeeComponent { method Employee (line 12) | public Employee(String empName, double empSalary) { method displayInfo (line 17) | @Override method calculateSalary (line 22) | @Override class Department (line 28) | class Department extends EmployeeComponent { method Department (line 32) | public Department(String deptName) { method addMember (line 37) | public void addMember(EmployeeComponent member) { method displayInfo (line 41) | @Override method calculateSalary (line 49) | @Override class Team (line 59) | class Team extends EmployeeComponent { method Team (line 63) | public Team(String teamName) { method addMember (line 68) | public void addMember(EmployeeComponent member) { method displayInfo (line 72) | @Override method calculateSalary (line 80) | @Override class EmployeesDemo (line 90) | public class EmployeesDemo { method main (line 91) | public static void main(String[] args) { FILE: Composite Design Pattern/JAVA/directorystructure.java type FileSystemComponent (line 4) | interface FileSystemComponent { method listContents (line 5) | void listContents(); method getSize (line 6) | int getSize(); class File (line 10) | class File implements FileSystemComponent { method File (line 14) | public File(String fileName, int fileSize) { method listContents (line 19) | @Override method getSize (line 24) | @Override class Directory (line 31) | class Directory implements FileSystemComponent { method Directory (line 35) | public Directory(String dirName) { method addComponent (line 40) | public void addComponent(FileSystemComponent component) { method listContents (line 44) | @Override method getSize (line 52) | @Override class directorystructure (line 62) | public class directorystructure { method main (line 63) | public static void main(String[] args) { FILE: Decorator Design Pattern/C++/swiggy.cpp class FoodItem (line 6) | class FoodItem class Pizza (line 15) | class Pizza : public FoodItem method string (line 18) | string getDescription() method getPrice (line 23) | double getPrice() class Burger (line 30) | class Burger : public FoodItem method string (line 33) | string getDescription() method getPrice (line 38) | double getPrice() class Decorator (line 44) | class Decorator : public FoodItem method Decorator (line 50) | Decorator(FoodItem *item) : foodItem(item) {} class ExtraCheeseDecorator (line 54) | class ExtraCheeseDecorator : public Decorator method ExtraCheeseDecorator (line 60) | ExtraCheeseDecorator(FoodItem *item, double price) method string (line 63) | string getDescription() method getPrice (line 68) | double getPrice() class ExtraSauceDecorator (line 75) | class ExtraSauceDecorator : public Decorator method ExtraSauceDecorator (line 81) | ExtraSauceDecorator(FoodItem *item, double price) method string (line 84) | string getDescription() method getPrice (line 89) | double getPrice() class ExtraToppingsDecorator (line 96) | class ExtraToppingsDecorator : public Decorator method ExtraToppingsDecorator (line 102) | ExtraToppingsDecorator(FoodItem *item, double price) method string (line 105) | string getDescription() method getPrice (line 110) | double getPrice() function main (line 116) | int main() FILE: Decorator Design Pattern/JAVA/Swiggy.java type FoodItem (line 3) | interface FoodItem { method getDescription (line 4) | String getDescription(); method getPrice (line 5) | double getPrice(); class Pizza (line 9) | class Pizza implements FoodItem { method getDescription (line 10) | public String getDescription() { method getPrice (line 14) | public double getPrice() { class Burger (line 20) | class Burger implements FoodItem { method getDescription (line 21) | public String getDescription() { method getPrice (line 25) | public double getPrice() { class Decorator (line 31) | abstract class Decorator implements FoodItem { method Decorator (line 34) | public Decorator(FoodItem item) { class ExtraCheeseDecorator (line 40) | class ExtraCheeseDecorator extends Decorator { method ExtraCheeseDecorator (line 43) | public ExtraCheeseDecorator(FoodItem item, double price) { method getDescription (line 48) | public String getDescription() { method getPrice (line 52) | public double getPrice() { class ExtraSauceDecorator (line 58) | class ExtraSauceDecorator extends Decorator { method ExtraSauceDecorator (line 61) | public ExtraSauceDecorator(FoodItem item, double price) { method getDescription (line 66) | public String getDescription() { method getPrice (line 70) | public double getPrice() { class ExtraToppingsDecorator (line 76) | class ExtraToppingsDecorator extends Decorator { method ExtraToppingsDecorator (line 79) | public ExtraToppingsDecorator(FoodItem item, double price) { method getDescription (line 84) | public String getDescription() { method getPrice (line 88) | public double getPrice() { class Swiggy (line 93) | public class Swiggy { method main (line 94) | public static void main(String[] args) { FILE: Facade Design Pattern/C++/computer.cpp class CPU (line 5) | class CPU { method powerOn (line 7) | void powerOn() { method executeInstructions (line 11) | void executeInstructions() { class Memory (line 17) | class Memory { method initialize (line 19) | void initialize() { class GPU (line 25) | class GPU { method enableGraphics (line 27) | void enableGraphics() { class DiskDrive (line 33) | class DiskDrive { method bootFromDisk (line 35) | void bootFromDisk() { class NetworkInterface (line 41) | class NetworkInterface { method connectToNetwork (line 43) | void connectToNetwork() { class ComputerSystemFacade (line 49) | class ComputerSystemFacade { method startComputer (line 58) | void startComputer() { function main (line 70) | int main() { FILE: Facade Design Pattern/JAVA/ComputerDemo.java class CPU (line 2) | class CPU { method powerOn (line 3) | public void powerOn() { method executeInstructions (line 7) | public void executeInstructions() { class Memory (line 13) | class Memory { method initialize (line 14) | public void initialize() { class GPU (line 20) | class GPU { method enableGraphics (line 21) | public void enableGraphics() { class DiskDrive (line 27) | class DiskDrive { method bootFromDisk (line 28) | public void bootFromDisk() { class NetworkInterface (line 34) | class NetworkInterface { method connectToNetwork (line 35) | public void connectToNetwork() { class ComputerSystemFacade (line 41) | class ComputerSystemFacade { method ComputerSystemFacade (line 48) | public ComputerSystemFacade() { method startComputer (line 56) | public void startComputer() { class ComputerDemo (line 68) | public class ComputerDemo { method main (line 69) | public static void main(String[] args) { FILE: Factory Method Design Pattern/Furniture/C++/furniture.cpp class FurnitureItem (line 7) | class FurnitureItem { class Sofa (line 13) | class Sofa : public FurnitureItem { method display (line 15) | void display() override { class Chair (line 20) | class Chair : public FurnitureItem { method display (line 22) | void display() override { class Table (line 27) | class Table : public FurnitureItem { method display (line 29) | void display() override { class FurnitureFactory (line 35) | class FurnitureFactory { class SofaFactory (line 41) | class SofaFactory : public FurnitureFactory { method FurnitureItem (line 43) | FurnitureItem* createFurniture() override { class ChairFactory (line 48) | class ChairFactory : public FurnitureFactory { method FurnitureItem (line 50) | FurnitureItem* createFurniture() override { class TableFactory (line 55) | class TableFactory : public FurnitureFactory { method FurnitureItem (line 57) | FurnitureItem* createFurniture() override { function main (line 62) | int main() { FILE: Factory Method Design Pattern/Furniture/JAVA/furniture.java type FurnitureItem (line 2) | interface FurnitureItem { method display (line 3) | void display(); class Sofa (line 7) | class Sofa implements FurnitureItem { method display (line 8) | @Override class Chair (line 14) | class Chair implements FurnitureItem { method display (line 15) | @Override class Table (line 21) | class Table implements FurnitureItem { method display (line 22) | @Override type FurnitureFactory (line 29) | interface FurnitureFactory { method createFurniture (line 30) | FurnitureItem createFurniture(); class SofaFactory (line 34) | class SofaFactory implements FurnitureFactory { method createFurniture (line 35) | @Override class ChairFactory (line 41) | class ChairFactory implements FurnitureFactory { method createFurniture (line 42) | @Override class TableFactory (line 48) | class TableFactory implements FurnitureFactory { method createFurniture (line 49) | @Override class furniture (line 55) | public class furniture { method main (line 56) | public static void main(String[] args) { FILE: Factory Method Design Pattern/Furniture/Javascript/furniture.js class FurnitureItem (line 2) | class FurnitureItem { method display (line 3) | display() {} class Sofa (line 7) | class Sofa extends FurnitureItem { method display (line 8) | display() { class Chair (line 13) | class Chair extends FurnitureItem { method display (line 14) | display() { class Table (line 19) | class Table extends FurnitureItem { method display (line 20) | display() { class FurnitureFactory (line 26) | class FurnitureFactory { method createFurniture (line 27) | createFurniture() {} class SofaFactory (line 31) | class SofaFactory extends FurnitureFactory { method createFurniture (line 32) | createFurniture() { class ChairFactory (line 37) | class ChairFactory extends FurnitureFactory { method createFurniture (line 38) | createFurniture() { class TableFactory (line 43) | class TableFactory extends FurnitureFactory { method createFurniture (line 44) | createFurniture() { function main (line 49) | function main() { FILE: Factory Method Design Pattern/Furniture/Python/furniture.py class FurnitureItem (line 2) | class FurnitureItem: method display (line 3) | def display(self): class Sofa (line 7) | class Sofa(FurnitureItem): method display (line 8) | def display(self): class Chair (line 11) | class Chair(FurnitureItem): method display (line 12) | def display(self): class Table (line 15) | class Table(FurnitureItem): method display (line 16) | def display(self): class FurnitureFactory (line 20) | class FurnitureFactory: method create_furniture (line 21) | def create_furniture(self): class SofaFactory (line 25) | class SofaFactory(FurnitureFactory): method create_furniture (line 26) | def create_furniture(self): class ChairFactory (line 29) | class ChairFactory(FurnitureFactory): method create_furniture (line 30) | def create_furniture(self): class TableFactory (line 33) | class TableFactory(FurnitureFactory): method create_furniture (line 34) | def create_furniture(self): function main (line 37) | def main(): FILE: Factory Method Design Pattern/Logger/C++/common.hpp type LogLevel (line 7) | enum class LogLevel { FILE: Factory Method Design Pattern/Logger/C++/debug_logger.hpp class DebugLogger (line 4) | class DebugLogger : public ILogger { FILE: Factory Method Design Pattern/Logger/C++/debug_logger_factory.hpp class DebugLoggerFactory (line 5) | class DebugLoggerFactory : public ILoggerFactory{ method ILogger (line 7) | ILogger* createLogger() { FILE: Factory Method Design Pattern/Logger/C++/error_logger.hpp class ErrorLogger (line 4) | class ErrorLogger : public ILogger{ FILE: Factory Method Design Pattern/Logger/C++/error_logger_factory.hpp class ErrorLoggerFactory (line 5) | class ErrorLoggerFactory : public ILoggerFactory{ method ILogger (line 7) | ILogger* createLogger() { FILE: Factory Method Design Pattern/Logger/C++/ilogger.hpp class ILogger (line 4) | class ILogger { FILE: Factory Method Design Pattern/Logger/C++/info_logger.hpp class InfoLogger (line 4) | class InfoLogger : public ILogger { FILE: Factory Method Design Pattern/Logger/C++/info_logger_factory.hpp class InfoLoggerFactory (line 5) | class InfoLoggerFactory : public ILoggerFactory{ method ILogger (line 7) | ILogger* createLogger() { FILE: Factory Method Design Pattern/Logger/C++/logger_factory.hpp class ILoggerFactory (line 7) | class ILoggerFactory { FILE: Factory Method Design Pattern/Logger/C++/main.cpp function main (line 5) | int main() { FILE: Factory Method Design Pattern/Logger/JAVA/LoggerDemo.java type ILogger (line 1) | interface ILogger { method log (line 2) | void log(String msg); class DebugLogger (line 5) | class DebugLogger implements ILogger { method log (line 6) | @Override class ErrorLogger (line 12) | class ErrorLogger implements ILogger { method log (line 13) | @Override class InfoLogger (line 19) | class InfoLogger implements ILogger { method log (line 20) | @Override type LoggerFactory (line 26) | interface LoggerFactory { method createLogger (line 27) | ILogger createLogger(); class DebugLoggerFactory (line 30) | class DebugLoggerFactory implements LoggerFactory { method createLogger (line 31) | @Override class ErrorLoggerFactory (line 37) | class ErrorLoggerFactory implements LoggerFactory { method createLogger (line 38) | @Override class InfoLoggerFactory (line 44) | class InfoLoggerFactory implements LoggerFactory { method createLogger (line 45) | @Override class LoggerDemo (line 51) | public class LoggerDemo { method main (line 52) | public static void main(String[] args) { FILE: Iterator Design Pattern/C++/amazon_inventory.cpp class Product (line 6) | class Product { method Product (line 12) | Product(const string& name, const double& price) : name(name), price(p... method string (line 14) | const string& getName() const { method getPrice (line 18) | double getPrice() const { class Iterator (line 24) | class Iterator { class ProductIterator (line 33) | class ProductIterator : public Iterator { method ProductIterator (line 41) | ProductIterator(vector& products) : products(products), curr... method Product (line 43) | Product* first() { method Product (line 51) | Product* next() { method hasNext (line 58) | bool hasNext() { class Inventory (line 64) | class Inventory { method addProduct (line 68) | void addProduct(Product* product) { method Iterator (line 72) | Iterator* createIterator() { function main (line 78) | int main() { FILE: Iterator Design Pattern/JAVA/AmazonInventory.java class Product (line 4) | class Product { method Product (line 8) | public Product(String name, double price) { method getName (line 13) | public String getName() { method getPrice (line 17) | public double getPrice() { type Iterator (line 23) | interface Iterator { method first (line 24) | Product first(); method next (line 25) | Product next(); method hasNext (line 26) | boolean hasNext(); class ProductIterator (line 30) | class ProductIterator implements Iterator { method ProductIterator (line 34) | public ProductIterator(List products) { method first (line 39) | public Product first() { method next (line 47) | public Product next() { method hasNext (line 54) | public boolean hasNext() { class Inventory (line 60) | class Inventory { method addProduct (line 63) | public void addProduct(Product product) { method createIterator (line 67) | public Iterator createIterator() { class AmazonInventory (line 72) | public class AmazonInventory { method main (line 73) | public static void main(String[] args) { FILE: Observer Design Pattern/C++/order_status.cpp class Order (line 4) | class Order method Order (line 65) | Order(int id) : id(id), status("Order Placed") {} method getId (line 67) | int getId() method string (line 72) | string getStatus() method setStatus (line 77) | void setStatus(string newStatus) method attach (line 83) | void attach(Observer *observer) method detach (line 88) | void detach(Observer *observer) method notifyObservers (line 100) | void notifyObservers() class Observer (line 7) | class Observer class Customer (line 14) | class Customer : public Observer method Customer (line 20) | Customer(string name) : name(name) {} class Restaurant (line 26) | class Restaurant : public Observer method Restaurant (line 32) | Restaurant(string name) : restaurantName(name) {} class DeliveryDriver (line 38) | class DeliveryDriver : public Observer method DeliveryDriver (line 44) | DeliveryDriver(string name) : driverName(name) {} class CallCenter (line 50) | class CallCenter : public Observer class Order (line 57) | class Order method Order (line 65) | Order(int id) : id(id), status("Order Placed") {} method getId (line 67) | int getId() method string (line 72) | string getStatus() method setStatus (line 77) | void setStatus(string newStatus) method attach (line 83) | void attach(Observer *observer) method detach (line 88) | void detach(Observer *observer) method notifyObservers (line 100) | void notifyObservers() function main (line 128) | int main() FILE: Observer Design Pattern/JAVA/OrderStatus.java type Observer (line 3) | interface Observer { method update (line 4) | void update(Order order); class Customer (line 7) | class Customer implements Observer { method Customer (line 10) | public Customer(String name) { method update (line 14) | @Override class Restaurant (line 20) | class Restaurant implements Observer { method Restaurant (line 23) | public Restaurant(String name) { method update (line 27) | @Override class DeliveryDriver (line 33) | class DeliveryDriver implements Observer { method DeliveryDriver (line 36) | public DeliveryDriver(String name) { method update (line 40) | @Override class CallCenter (line 46) | class CallCenter implements Observer { method update (line 47) | @Override class Order (line 53) | class Order { method Order (line 58) | public Order(int id) { method getId (line 63) | public int getId() { method getStatus (line 67) | public String getStatus() { method setStatus (line 71) | public void setStatus(String newStatus) { method attach (line 76) | public void attach(Observer observer) { method detach (line 80) | public void detach(Observer observer) { method notifyObservers (line 84) | public void notifyObservers() { class OrderStatus (line 91) | public class OrderStatus { method main (line 92) | public static void main(String[] args) { FILE: Prototype Design Pattern/C++/product.cpp class ProductPrototype (line 5) | class ProductPrototype { class Product (line 13) | class Product : public ProductPrototype { method Product (line 19) | Product(const string& name, double price) method ProductPrototype (line 22) | ProductPrototype* clone() override { method display (line 26) | void display() override { function main (line 32) | int main() { FILE: Prototype Design Pattern/C++/router.cpp class NetworkDevice (line 5) | class NetworkDevice { class Router (line 12) | class Router : public NetworkDevice { method Router (line 14) | Router(string name, string ip, string securityPolicy) method NetworkDevice (line 17) | NetworkDevice* clone() const override { method display (line 21) | void display() const override { method update (line 25) | void update(string newName) override { class Switch (line 35) | class Switch : public NetworkDevice { method Switch (line 37) | Switch(string name, string protocol) method NetworkDevice (line 40) | NetworkDevice* clone() const override { method display (line 44) | void display() const override { method update (line 48) | void update(string newName) override { function main (line 57) | int main() { FILE: Prototype Design Pattern/JAVA/ProductDemo.java class ProductPrototype (line 2) | abstract class ProductPrototype { method clone (line 3) | public abstract ProductPrototype clone(); method display (line 4) | public abstract void display(); class Product (line 8) | class Product extends ProductPrototype { method Product (line 12) | public Product(String name, double price) { method clone (line 17) | @Override method display (line 22) | @Override class ProductDemo (line 29) | public class ProductDemo { method main (line 30) | public static void main(String[] args) { FILE: Prototype Design Pattern/JAVA/RouterDemo.java class NetworkDevice (line 1) | abstract class NetworkDevice { method clone (line 2) | public abstract NetworkDevice clone(); method display (line 4) | public abstract void display(); method update (line 6) | public abstract void update(String newName); class Router (line 9) | class Router extends NetworkDevice { method Router (line 14) | public Router(String name, String ip, String securityPolicy) { method clone (line 20) | @Override method display (line 25) | @Override method update (line 30) | @Override class Switch (line 36) | class Switch extends NetworkDevice { method Switch (line 40) | public Switch(String name, String protocol) { method clone (line 45) | @Override method display (line 50) | @Override method update (line 55) | @Override class RouterDemo (line 61) | public class RouterDemo { method main (line 62) | public static void main(String[] args) { FILE: Proxy Design Pattern/C++/image.cpp class Image (line 5) | class Image { class RealImage (line 11) | class RealImage : public Image { method RealImage (line 16) | RealImage(const string& filename) : filename(filename) { method display (line 20) | void display() { method loadFromDisk (line 24) | void loadFromDisk() { class ImageProxy (line 30) | class ImageProxy : public Image { method ImageProxy (line 36) | ImageProxy(const string& filename) : filename(filename), realImage(nul... method display (line 38) | void display() { function main (line 52) | int main() { FILE: Proxy Design Pattern/JAVA/ImageDemo.java type Image (line 1) | interface Image { method display (line 2) | void display(); class RealImage (line 5) | class RealImage implements Image { method RealImage (line 8) | public RealImage(String filename) { method display (line 13) | @Override method loadFromDisk (line 18) | private void loadFromDisk() { class ImageProxy (line 23) | class ImageProxy implements Image { method ImageProxy (line 27) | public ImageProxy(String filename) { method display (line 32) | @Override class ImageDemo (line 41) | public class ImageDemo { method main (line 42) | public static void main(String[] args) { FILE: Simple Factory Design Pattern/C++/common.hpp type LogLevel (line 7) | enum class LogLevel { FILE: Simple Factory Design Pattern/C++/debug_logger.hpp class DebugLogger (line 4) | class DebugLogger : public ILogger { FILE: Simple Factory Design Pattern/C++/error_logger.hpp class ErrorLogger (line 4) | class ErrorLogger : public ILogger{ FILE: Simple Factory Design Pattern/C++/ilogger.hpp class ILogger (line 4) | class ILogger { FILE: Simple Factory Design Pattern/C++/info_logger.hpp class InfoLogger (line 4) | class InfoLogger : public ILogger { FILE: Simple Factory Design Pattern/C++/logger_factory.cpp function ILogger (line 3) | ILogger* LoggerFactory::createLogger(LogLevel pLogLevel) { FILE: Simple Factory Design Pattern/C++/logger_factory.hpp class LoggerFactory (line 7) | class LoggerFactory { FILE: Simple Factory Design Pattern/C++/main.cpp function main (line 3) | int main() { FILE: Simple Factory Design Pattern/JAVA/Main.java class Main (line 4) | public class Main { method main (line 5) | public static void main(String[] args) { FILE: Simple Factory Design Pattern/JAVA/logger/DebugLogger.java class DebugLogger (line 3) | public class DebugLogger implements ILogger { method log (line 4) | public void log(String msg) { FILE: Simple Factory Design Pattern/JAVA/logger/ErrorLogger.java class ErrorLogger (line 3) | public class ErrorLogger implements ILogger { method log (line 4) | public void log(String msg) { FILE: Simple Factory Design Pattern/JAVA/logger/ILogger.java type ILogger (line 3) | public interface ILogger { method log (line 4) | void log (String msg); FILE: Simple Factory Design Pattern/JAVA/logger/InfoLogger.java class InfoLogger (line 3) | public class InfoLogger implements ILogger { method log (line 4) | public void log(String msg) { FILE: Simple Factory Design Pattern/JAVA/logger/LogLevel.java type LogLevel (line 3) | public enum LogLevel { FILE: Simple Factory Design Pattern/JAVA/logger/LoggerFactory.java class LoggerFactory (line 3) | public class LoggerFactory { method createLogger (line 4) | public static ILogger createLogger(LogLevel logLevel) { FILE: Singleton Design Pattern/C++/payment_gateway.cpp class PaymentGatewayManager (line 5) | class PaymentGatewayManager method PaymentGatewayManager (line 9) | PaymentGatewayManager() method PaymentGatewayManager (line 19) | static PaymentGatewayManager *getInstance() method processPayment (line 33) | void processPayment(double amount) function main (line 43) | int main() FILE: Singleton Design Pattern/JAVA/PaymentGateway.java class PaymentGatewayManager (line 4) | class PaymentGatewayManager { method PaymentGatewayManager (line 6) | private PaymentGatewayManager() { method getInstance (line 14) | public static PaymentGatewayManager getInstance() { method processPayment (line 28) | public void processPayment(double amount) { class PaymentGateway (line 34) | public class PaymentGateway { method main (line 35) | public static void main(String[] args) { FILE: State Design Pattern/C++/state.cpp class RideState (line 5) | class RideState { class RideRequestedState (line 13) | class RideRequestedState : public RideState { method handleRequest (line 15) | void handleRequest() override { method handleCancel (line 19) | void handleCancel() override { class DriverAssignedState (line 24) | class DriverAssignedState : public RideState { method handleRequest (line 26) | void handleRequest() override { method handleCancel (line 30) | void handleCancel() override { class EnRouteState (line 35) | class EnRouteState : public RideState { method handleRequest (line 37) | void handleRequest() override { method handleCancel (line 41) | void handleCancel() override { class Ride (line 48) | class Ride { method Ride (line 53) | Ride() { method setState (line 58) | void setState(RideState* newState) { method requestRide (line 63) | void requestRide() { method cancelRide (line 67) | void cancelRide() { function main (line 72) | int main() { FILE: State Design Pattern/JAVA/StateDemo.java type RideState (line 2) | interface RideState { method handleRequest (line 3) | void handleRequest(); method handleCancel (line 4) | void handleCancel(); class RideRequestedState (line 9) | class RideRequestedState implements RideState { method handleRequest (line 10) | @Override method handleCancel (line 15) | @Override class DriverAssignedState (line 21) | class DriverAssignedState implements RideState { method handleRequest (line 22) | @Override method handleCancel (line 27) | @Override class EnRouteState (line 33) | class EnRouteState implements RideState { method handleRequest (line 34) | @Override method handleCancel (line 39) | @Override class Ride (line 47) | class Ride { method Ride (line 50) | public Ride() { method setState (line 55) | public void setState(RideState newState) { method requestRide (line 59) | public void requestRide() { method cancelRide (line 63) | public void cancelRide() { class StateDemo (line 68) | public class StateDemo { method main (line 69) | public static void main(String[] args) { FILE: Strategy Design Pattern/C++/payment.cpp class PaymentStrategy (line 4) | class PaymentStrategy { class CreditCardPayment (line 10) | class CreditCardPayment : public PaymentStrategy { method processPayment (line 12) | void processPayment(double amount) override { class PayPalPayment (line 17) | class PayPalPayment : public PaymentStrategy { method processPayment (line 19) | void processPayment(double amount) override { class CryptocurrencyPayment (line 24) | class CryptocurrencyPayment : public PaymentStrategy { method processPayment (line 26) | void processPayment(double amount) override { class PaymentProcessor (line 31) | class PaymentProcessor { method PaymentProcessor (line 36) | PaymentProcessor() : paymentStrategy(nullptr) {} method setPaymentStrategy (line 38) | void setPaymentStrategy(PaymentStrategy* strategy) { method processPayment (line 42) | void processPayment(double amount) { function main (line 57) | int main() { FILE: Strategy Design Pattern/JAVA/PaymentDemo.java type PaymentStrategy (line 2) | interface PaymentStrategy { method processPayment (line 3) | void processPayment(double amount); class CreditCardPayment (line 7) | class CreditCardPayment implements PaymentStrategy { method processPayment (line 8) | public void processPayment(double amount) { class PayPalPayment (line 13) | class PayPalPayment implements PaymentStrategy { method processPayment (line 14) | public void processPayment(double amount) { class CryptocurrencyPayment (line 19) | class CryptocurrencyPayment implements PaymentStrategy { method processPayment (line 20) | public void processPayment(double amount) { class PaymentProcessor (line 26) | class PaymentProcessor { method PaymentProcessor (line 29) | public PaymentProcessor() { method setPaymentStrategy (line 33) | public void setPaymentStrategy(PaymentStrategy strategy) { method processPayment (line 41) | public void processPayment(double amount) { method finalize (line 49) | public void finalize() { class PaymentDemo (line 57) | public class PaymentDemo { method main (line 58) | public static void main(String[] args) { FILE: Strategy and Factory Design Pattern/C++/payment.cpp class PaymentStrategy (line 5) | class PaymentStrategy { class CreditCardPayment (line 12) | class CreditCardPayment : public PaymentStrategy { method processPayment (line 14) | void processPayment(double amount) override { class PayPalPayment (line 19) | class PayPalPayment : public PaymentStrategy { method processPayment (line 21) | void processPayment(double amount) override { class CryptocurrencyPayment (line 26) | class CryptocurrencyPayment : public PaymentStrategy { method processPayment (line 28) | void processPayment(double amount) override { class PaymentStrategyFactory (line 34) | class PaymentStrategyFactory { method PaymentStrategy (line 36) | static PaymentStrategy* createPaymentStrategy(const string& paymentMet... class PaymentProcessor (line 51) | class PaymentProcessor { method PaymentProcessor (line 56) | PaymentProcessor() : paymentStrategy(nullptr) {} method setPaymentStrategy (line 58) | void setPaymentStrategy(const string& paymentMethod) { method processPayment (line 65) | void processPayment(double amount) { function main (line 80) | int main() { FILE: Strategy and Factory Design Pattern/JAVA/PaymentDemo.java type PaymentStrategy (line 2) | interface PaymentStrategy { method processPayment (line 3) | void processPayment(double amount); class CreditCardPayment (line 7) | class CreditCardPayment implements PaymentStrategy { method processPayment (line 8) | public void processPayment(double amount) { class PayPalPayment (line 13) | class PayPalPayment implements PaymentStrategy { method processPayment (line 14) | public void processPayment(double amount) { class CryptocurrencyPayment (line 19) | class CryptocurrencyPayment implements PaymentStrategy { method processPayment (line 20) | public void processPayment(double amount) { class PaymentStrategyFactory (line 26) | class PaymentStrategyFactory { method createPaymentStrategy (line 27) | public static PaymentStrategy createPaymentStrategy(String paymentMeth... class PaymentProcessor (line 42) | class PaymentProcessor { method PaymentProcessor (line 45) | public PaymentProcessor() { method setPaymentStrategy (line 49) | public void setPaymentStrategy(String paymentMethod) { method processPayment (line 57) | public void processPayment(double amount) { method finalize (line 65) | public void finalize() { class PaymentDemo (line 73) | public class PaymentDemo { method main (line 74) | public static void main(String[] args) { FILE: Template Design Pattern/C++/amazon_order.cpp class OrderProcessingTemplate (line 5) | class OrderProcessingTemplate { method processOrder (line 7) | void processOrder() { class LocalOrderProcessor (line 19) | class LocalOrderProcessor : public OrderProcessingTemplate { method verifyOrder (line 21) | void verifyOrder() { method assignDeliveryAgent (line 26) | void assignDeliveryAgent() { method trackDelivery (line 31) | void trackDelivery() { class InternationalOrderProcessor (line 38) | class InternationalOrderProcessor : public OrderProcessingTemplate { method verifyOrder (line 40) | void verifyOrder() { method assignDeliveryAgent (line 45) | void assignDeliveryAgent() { method trackDelivery (line 50) | void trackDelivery() { function main (line 56) | int main() { FILE: Template Design Pattern/JAVA/AmazonOrderProcessor.java class OrderProcessingTemplate (line 2) | abstract class OrderProcessingTemplate { method processOrder (line 3) | public void processOrder() { method verifyOrder (line 9) | abstract void verifyOrder(); method assignDeliveryAgent (line 10) | abstract void assignDeliveryAgent(); method trackDelivery (line 11) | abstract void trackDelivery(); class LocalOrderProcessor (line 15) | class LocalOrderProcessor extends OrderProcessingTemplate { method verifyOrder (line 16) | void verifyOrder() { method assignDeliveryAgent (line 21) | void assignDeliveryAgent() { method trackDelivery (line 26) | void trackDelivery() { class InternationalOrderProcessor (line 33) | class InternationalOrderProcessor extends OrderProcessingTemplate { method verifyOrder (line 34) | void verifyOrder() { method assignDeliveryAgent (line 39) | void assignDeliveryAgent() { method trackDelivery (line 44) | void trackDelivery() { class AmazonOrderProcessor (line 50) | public class AmazonOrderProcessor { method main (line 51) | public static void main(String[] args) {