16:
A (software) design pattern is a general solution to a common problem in software design. It is a description or template for how to solve a problem, that can be used in different situations. A design pattern typically shows relationship and interaction between classes or objects, without specifying
178:
145:
791:
195:
17:
final application classes or objects that are involved. Patterns identify and specify abstractions that are above the level of single classes and instances.
189:
555:
607:
530:
293:
704:
237:
654:
545:
454:
806:
649:
644:
585:
491:
434:
664:
444:
439:
163:
550:
303:
429:
298:
127:
124:
121:
118:
115:
112:
109:
106:
103:
100:
97:
94:
91:
88:
85:
82:
79:
76:
73:
70:
67:
64:
61:
58:
55:
52:
47:
694:
459:
816:
811:
634:
394:
350:
345:
288:
249:
721:
639:
602:
377:
26:
629:
624:
464:
389:
212:
684:
669:
266:
736:
318:
283:
8:
679:
540:
508:
496:
362:
313:
308:
777:
716:
699:
271:
254:
659:
570:
372:
227:
217:
782:
689:
612:
565:
560:
513:
469:
404:
399:
323:
232:
222:
33:
765:
753:
597:
409:
167:
21:
575:
449:
414:
207:
800:
674:
580:
486:
419:
741:
535:
367:
340:
42:
731:
726:
424:
160:
335:
474:
188:
The following 95 pages are in this category, out of 148 total.
525:
142:
This category has the following subcategory, out of 3 total.
798:
35:
185:Pages in category "Software design patterns"
190:This list may not reflect recent changes
799:
608:Resource acquisition is initialization
531:Pattern-Oriented Software Architecture
294:Initialization-on-demand holder idiom
705:Substitution failure is not an error
137:
13:
199:
149:
136:
14:
828:
556:Presentation–abstraction–control
238:Functor (functional programming)
655:Single-serving visitor pattern
546:Point of delivery (networking)
455:Monad (functional programming)
1:
650:Shard (database architecture)
645:Service-oriented architecture
492:Non-virtual interface pattern
665:Software architectural model
183:
7:
551:Portland Pattern Repository
304:Intercepting filter pattern
10:
833:
299:Interaction design pattern
20:The main article for this
19:
695:Strongly typed identifier
586:Publish–subscribe pattern
460:Monitor (synchronization)
635:Servant (design pattern)
395:Marker interface pattern
351:JSP model 2 architecture
346:JSP model 1 architecture
289:Inbox and outbox pattern
250:Generation gap (pattern)
722:Template method pattern
640:Service locator pattern
378:Lock (computer science)
27:Software design pattern
630:Scheduling (computing)
625:Scheduled-task pattern
465:Multitier architecture
390:Map (parallel pattern)
213:Factory method pattern
685:Strangler fig pattern
670:Specification pattern
435:Model–view–controller
807:Computer programming
737:Thread-local storage
445:Model–view–viewmodel
440:Model–view–presenter
319:Inversion of control
284:Identity map pattern
680:Store-passing style
603:Readers–writer lock
541:Pipeline (software)
509:Object pool pattern
497:Null object pattern
363:Lazy initialization
314:Interpreter pattern
309:Interceptor pattern
164:Software frameworks
778:Whiteboard Pattern
717:Table data gateway
700:Structural pattern
430:Model–view–adapter
272:The Hillside Group
255:Guarded suspension
660:Singleton pattern
571:Prototype pattern
373:LCHH architecture
267:Head–body pattern
228:Flyweight pattern
218:Filter (software)
824:
783:Workflow pattern
690:Strategy pattern
613:Row data gateway
566:Process patterns
561:Proactor pattern
514:Observer pattern
470:Multiton pattern
405:Mediator pattern
400:Robert C. Martin
324:Iterator pattern
233:Front controller
223:Fluent interface
169:
162:
832:
831:
827:
826:
825:
823:
822:
821:
817:Design patterns
812:Software design
797:
796:
795:
789:
788:
787:
770:
766:Visitor pattern
758:
754:UI data binding
746:
709:
617:
598:Reactor pattern
590:
518:
501:
479:
410:Memento pattern
382:
355:
328:
276:
259:
242:
182:
176:
175:
174:
171:
170:
159:
135:
134:
133:
132:
38:
31:
12:
11:
5:
830:
820:
819:
814:
809:
794:) (next page)
786:
785:
780:
774:
771:
769:
768:
762:
759:
757:
756:
750:
747:
745:
744:
739:
734:
729:
724:
719:
713:
710:
708:
707:
702:
697:
692:
687:
682:
677:
672:
667:
662:
657:
652:
647:
642:
637:
632:
627:
621:
618:
616:
615:
610:
605:
600:
594:
591:
589:
588:
583:
578:
576:Provider model
573:
568:
563:
558:
553:
548:
543:
538:
533:
528:
522:
519:
517:
516:
511:
505:
502:
500:
499:
494:
489:
483:
480:
478:
477:
472:
467:
462:
457:
452:
450:Module pattern
447:
442:
437:
432:
427:
422:
417:
415:Message broker
412:
407:
402:
397:
392:
386:
383:
381:
380:
375:
370:
365:
359:
356:
354:
353:
348:
343:
338:
332:
329:
327:
326:
321:
316:
311:
306:
301:
296:
291:
286:
280:
277:
275:
274:
269:
263:
260:
258:
257:
252:
246:
243:
241:
240:
235:
230:
225:
220:
215:
210:
208:Facade pattern
204:
201:
200:
186:
181:) (next page)
173:
172:
158:
157:
154:
151:
150:
140:
131:
130:
50:
45:
39:
37:
34:
32:
9:
6:
4:
3:
2:
829:
818:
815:
813:
810:
808:
805:
804:
802:
793:
792:previous page
784:
781:
779:
776:
775:
772:
767:
764:
763:
760:
755:
752:
751:
748:
743:
740:
738:
735:
733:
730:
728:
725:
723:
720:
718:
715:
714:
711:
706:
703:
701:
698:
696:
693:
691:
688:
686:
683:
681:
678:
676:
675:State pattern
673:
671:
668:
666:
663:
661:
658:
656:
653:
651:
648:
646:
643:
641:
638:
636:
633:
631:
628:
626:
623:
622:
619:
614:
611:
609:
606:
604:
601:
599:
596:
595:
592:
587:
584:
582:
581:Proxy pattern
579:
577:
574:
572:
569:
567:
564:
562:
559:
557:
554:
552:
549:
547:
544:
542:
539:
537:
534:
532:
529:
527:
524:
523:
520:
515:
512:
510:
507:
506:
503:
498:
495:
493:
490:
488:
487:Naked objects
485:
484:
481:
476:
473:
471:
468:
466:
463:
461:
458:
456:
453:
451:
448:
446:
443:
441:
438:
436:
433:
431:
428:
426:
423:
421:
420:Microfrontend
418:
416:
413:
411:
408:
406:
403:
401:
398:
396:
393:
391:
388:
387:
384:
379:
376:
374:
371:
369:
366:
364:
361:
360:
357:
352:
349:
347:
344:
342:
339:
337:
334:
333:
330:
325:
322:
320:
317:
315:
312:
310:
307:
305:
302:
300:
297:
295:
292:
290:
287:
285:
282:
281:
278:
273:
270:
268:
265:
264:
261:
256:
253:
251:
248:
247:
244:
239:
236:
234:
231:
229:
226:
224:
221:
219:
216:
214:
211:
209:
206:
205:
202:
198:) (next page)
197:
196:previous page
193:
191:
184:
180:
179:previous page
165:
161:
156:
155:
152:
148:) (next page)
147:
146:previous page
143:
139:Subcategories
138:
129:
126:
123:
120:
117:
114:
111:
108:
105:
102:
99:
96:
93:
90:
87:
84:
81:
78:
75:
72:
69:
66:
63:
60:
57:
54:
51:
49:
46:
44:
41:
40:
29:
28:
23:
18:
742:Twin pattern
536:PatternShare
368:Lazy loading
341:Join-pattern
187:
141:
25:
15:
732:Thread pool
727:Test double
425:Mock object
168:(3 C, 33 P)
801:Categories
336:JavaBeans
36:Contents
22:category
475:MVC4WPF
526:PALLAS
48:0–9
43:Top
24:is
803::
192:.
166:‎
790:(
773:W
761:V
749:U
712:T
620:S
593:R
521:P
504:O
482:N
385:M
358:L
331:J
279:I
262:H
245:G
203:F
194:(
177:(
153:S
144:(
128:Z
125:Y
122:X
119:W
116:V
113:U
110:T
107:S
104:R
101:Q
98:P
95:O
92:N
89:M
86:L
83:K
80:J
77:I
74:H
71:G
68:F
65:E
62:D
59:C
56:B
53:A
30:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.