あああえ

chatgpt君が出してきたプログラムのデザインパターンのめも
たぶん他にも出してくるだろうけど適当に区切った

Singleton Pattern: A creational pattern that ensures that only one instance of a class is created and provides a global point of access to it.

Factory Method Pattern: A creational pattern that provides an interface for creating objects, but allows subclasses to alter the type of objects that will be created.

Abstract Factory Pattern: A creational pattern that provides an interface for creating families of related objects without specifying their concrete classes.

Builder Pattern: A creational pattern that separates the construction of a complex object from its representation, allowing the same construction process to create different representations.

Adapter Pattern: A structural pattern that allows objects with incompatible interfaces to collaborate by creating a wrapper object that translates one interface to another.

Decorator Pattern: A structural pattern that allows behavior to be added to an individual object, either statically or dynamically, without affecting the behavior of other objects from the same class.

Facade Pattern: A structural pattern that provides a unified interface to a set of interfaces in a subsystem, making the subsystem easier to use.

Observer Pattern: A behavioral pattern that defines a one-to-many dependency between objects, so that when one object changes state, all its dependents are notified and updated automatically.

Strategy Pattern: A behavioral pattern that defines a family of algorithms, encapsulates each one, and makes them interchangeable at runtime.

Template Method Pattern: A behavioral pattern that defines the skeleton of an algorithm in a superclass, but lets subclasses override specific steps of the algorithm without changing its structure.

Chain of Responsibility Pattern: A behavioral pattern that allows a chain of objects to handle a request and pass it along the chain until it is handled.

Command Pattern: A behavioral pattern that encapsulates a request as an object, thereby allowing the parameterization of clients with different requests, queue or log requests, and support undoable operations.

Iterator Pattern: A behavioral pattern that provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.

State Pattern: A behavioral pattern that allows an object to alter its behavior when its internal state changes, and allows it to appear to change its class.

Visitor Pattern: A behavioral pattern that separates an algorithm from an object structure on which it operates, by moving the hierarchy of methods from the object structure to a separate object.

Proxy Pattern: A structural pattern that provides a surrogate or placeholder for another object to control access to it.

Flyweight Pattern: A structural pattern that reduces the number of objects created by sharing objects that are the same or similar.

Bridge Pattern: A structural pattern that decouples an abstraction from its implementation, so that the two can vary independently.

Composite Pattern: A structural pattern that allows you to compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.

Interpreter Pattern: A behavioral pattern that defines a grammatical representation for a language and provides an interpreter to deal with the language.

Mediator Pattern: A behavioral pattern that defines an object that encapsulates how a set of objects interact. It promotes loose coupling by keeping objects from referring to each other explicitly, and it allows their interaction to be varied independently.

Memento Pattern: A behavioral pattern that provides the ability to restore an object to its previous state (undo), or to temporarily save its current state (save point) to roll back to later.

Prototype Pattern: A creational pattern that specifies the kinds of objects to create using a prototypical instance, and creates new objects by copying this prototype.

Chain of Command Pattern: A behavioral pattern that lets you pass requests along a chain of handlers, with each handler deciding whether to handle the request or pass it on to the next handler in the chain.

Null Object Pattern: A behavioral pattern that uses an object with a neutral (null) behavior to avoid null pointers and simplify client code.


あとで調べる