1. Strategi:
definierar en familj av algoritmer, inkapslar var och en och gör dem utbytbara. Strategi låter algoritmen variera oberoende av kunder som använder den.
2. Dekoratör:
bifoga ytterligare ansvar till ett objekt dynamiskt. Dekoratörer ger ett flexibelt alternativ till underklassificering för att utöka funktionaliteten.
3. Fabriksmetod
definiera ett gränssnitt för att skapa ett objekt, men låt underklasserna bestämma vilken klass som ska instansieras. Fabriksmetod låter en klass skjuta instantiation till underklasser.,
4. Observer
definiera ett en-till-många beroende mellan objekt så att när ett objekt ändras tillstånd, alla dess beroende meddelas och uppdateras automatiskt.
5. Ansvarskedja
Undvik att koppla avsändaren till en begäran till mottagaren genom att ge mer än ett objekt en chans att hantera begäran. Kedja de mottagande objekten och skicka förfrågan längs kedjan tills ett objekt hanterar det.
6. Singleton
se till att en klass endast har en instans och ger en global åtkomstpunkt till den.
7., Flyweight
använd delning för att stödja ett stort antal finkorniga objekt effektivt. En flyweight är ett delat objekt som kan användas i flera sammanhang samtidigt. Flyweight fungerar som ett oberoende objekt i varje sammanhang; det är omöjlig att skilja från en instans av objektet som inte delas.
8. Adapter
konvertera gränssnittet för en klass till en annan gränssnittsklienter förväntar sig. Adapter låter klasser arbeta tillsammans som annars inte kunde på grund av inkompatibilitetsgränssnitt.
9. Fasad
ger ett enhetligt gränssnitt till en uppsättning gränssnitt i ett system., Fasad definierar en högre nivå gränssnitt som gör delsystemet lättare att använda.
10. Mall
definiera ett skelett av en algoritm i en operation, skjuta upp några steg till underklasser. Mallmetod låter underklasser omdefiniera vissa steg i en algoritm utan att ändra algoritmstrukturen.
11. Builder
separera byggandet av ett komplext objekt från dess representation så att samma byggprocesser kan skapa olika representationer.
12., Iterator
ger ett sätt att komma åt elementen i ett aggregerat objekt sekventiellt utan att exponera dess underliggande representation.
13. Komposit
komponera objekt i trädstrukturer för att representera Del-hela hierarkier. Komposit låter klienter behandla enskilda objekt och kompositioner av objekt likformigt.
14. Kommandot
inkapslar en begäran som ett objekt och låter dig parametrisera klienter med olika förfrågningar, kö-eller loggbegäranden och stödja ej genomförbara operationer.
15., Medlare
definiera ett objekt som inkapslar hur en uppsättning objekt interagerar. Medlare främjar lös koppling genom att hålla föremål från att hänvisa till varandra uttryckligen, och låter dig variera deras interaktion oberoende.
16. Tillstånd
Tillåt att ett objekt ändrar sitt beteende när dess interna tillstånd ändras. Objektet verkar ändra sin klass.
17. Proxy
ge en surrogat eller platshållare för ett annat objekt för att styra åtkomsten till den.
18., Abstract Factory
tillhandahålla ett gränssnitt för att skapa familjer av relaterade eller beroende objekt utan att ange deras konkreta klasser.
19. Bridge
frikoppla en abstraktion från dess genomförande så att de två kan variera oberoende.
20. Tolk
med ett språk, definiera en representation för sin grammatik tillsammans med en tolk som använder representationen för att tolka meningar på språket.
21., Memento
utan att bryta inkapsling, fånga och externalisera ett objekts interna tillstånd så att objektet kan återställas till detta tillstånd senare.
22. Prototyp
Ange vilka typer av objekt som ska skapas med hjälp av en prototypisk instans och skapa nya objekt genom att kopiera denna prototyp.
23. Besökare
representerar en operation som ska utföras på elementen i en objektstruktur. Besökare kan du definiera en ny operation utan att ändra klasserna för de element som den fungerar.
Leave a Reply