Patró de disseny

En enginyeria de programari, un patró de disseny és una solució general a un problema comú i recurrent en el disseny de programari. Un patró de disseny no és un disseny acabat que es pot transformar directament en codi; és una descripció o plantilla per resoldre un problema que es pot utilitzar en moltes situacions diferents.

Els patrons de disseny orientats a objectes normalment mostren relacions i interaccions entre classes o objectes, sense especificar les classes d'aplicació finals o objectes que hi estan implicats. Els algorismes no són considerats patrons de disseny, ja que aquests resolen els problemes computacionals més que els problemes de disseny.

Història

Els patrons sorgiren com a concepte d'arquitectura de la mà de Christopher Alexander. El 1987, Kent Beck i Ward Cunningham començaren a experimentar amb la idea d'aplicar patrons a la programació i van presentar els resultats a la conferència d'OOPSLA aquell mateix any. En els anys següents, Beck, Cunningham i altres investigaren aquell treball.

Els patrons de disseny guanyaren popularitat en la informàtica després de la publicació del llibre Design Patterns: Elements of Reusable Object-Oriented Software l'any 1994.

Objectius dels patrons

Els patrons de disseny pretenen:

  • Proporcionar catàlegs d'elements reusables en el disseny de sistemes de programari.
  • Evitar la reiteració a la recerca de solucions a problemes ja coneguts i solucionats anteriorment.
  • Formalitzar un vocabulari comú entre dissenyadors.
  • Estandarditzar el mode en el que es realitza el disseny.
  • Facilitar l'aprenentatge de les noves generacions de dissenyadors condensant coneixement ja existent.

Tanmateix, no pretenen:

  • Imposar certes alternatives de disseny enfront d'altres.
  • Eliminar la creativitat inherent al procés de disseny.

No és obligatori utilitzar els patrons, només és aconsellable en el cas de tenir el mateix problema o similar que soluciona el patró, sempre tenint en compte que en el cas particular pot no ser aplicable. "Abusar o forçar l'ús dels patrons pot ser un error".

Relació de principals patrons gang of four (GoF)

Patrons creacionals
  • Abstract Factory (fàbrica abstracta): Permet treballar amb objectes de diferents famílies de manera que aquestes famílies no es barregin, però fent que el tipus de familia utilitzat sigui transparent.
  • Factory Method (mètode de fabricació): Centralitza en una classe constructora la creació d'objectes d'un subtipus d'un tipus determinat, ocultant a l'usuari la casuística per escollir el subtipus a crear.
  • Builder (constructor virtual): Abstrau el procés de creació d'un objecte complex, centralitzant-lo en un únic punt.
  • Prototype (prototip): Crea nous objectes clonant-los d'una instància existent.
  • Singleton (instància única): Garanteix l'existència d'una única instància per una classe i la creació d'un mecanisme d'accés global per aquesta instància.
Patrons estructurals
  • Adapter (adaptador): Adapta una interfície perquè pugui ser utilitzada per una classe que, d'altra manera, no podria.
  • Bridge (Pont): Desacobla una abstracció de la seva implementació.
  • Composite (objecte compost): Permet tractar objectes compostos com si es tractés d'un de sol.
  • Decorator (embolcall): Afegeix funcionalitats a una classe dinàmicament.
  • Facade (façana): Proveeix d'una interfície unificada simple per accedir a una interfície o grup d'interfícies d'un subsistema.
  • Flyweight (pes lleuger): Redueix la redundància quan gran quantitat d'objectes posseeixen idèntica informació.
  • Proxy: Manté un representant d'un objecte.
Patrons de comportament
  • Cadena de responsabilitat (cadena de responsabilitat): Permet establir la línia que han de seguir els missatges perquè els objectes executin una tasca indicada.
  • Command (ordre): Encapsula una operació en un objecte, permetent executar aquesta operació sense necessitat de conèixer-ne el contingut.
  • Interpreter (intèrpret): Donat un llenguatge, en defineix la gramàtica així com les eines necessàries per interpretar-lo.
  • Iterator (iterador): Permet realitzar recorreguts sobre objectes compostos independentment de la seva implementació.
  • Mediator (mediador): Defineix un objecte que coordini la comunicació entre objectes de diferents classes, però que funcionen com un conjunt.
  • Memento (record): Permet tornar a estats anteriors del sistema.
  • Patró observador: Defineix una dependència d'un a molts entre objectes, de manera que quan un objecte canvia d'estat es notifiqui i s'actualitzin automàticament tots els objectes que en depenen.
  • State (estat): Permet que un objecte canviï el seu comportament cada vegada que canviï el seu estat intern.
  • Patró estratègia: Permet disposar de diversos mètodes per a resoldre un problema i escollir-ne un en temps d'execució.
  • Template Method (Mètode plantilla): Defineix en una operació l'esquelet d'un algorisme, delegant a les subclasses alguns dels passos, el que permet que les subclasses redefineixin certs passos d'un algorisme sense canviar-ne l'estructura.
  • Visitor (visitant): Aquest patró serveix per indicar que algú (visitador) ha visitat quelcom i així saber que ha estat visitat per un visitador.

Vegeu també

Enllaços externs

  • The PatternShare community - una comunitat per compartir patrons. (anglès)
  • Guia de llocs web que proporcionen catàlegs de patrons Arxivat 2004-04-02 a Wayback Machine. (anglès)

Read other articles:

Ikan dokter Labroides dimidiatus Status konservasiRisiko rendahIUCN187396 TaksonomiKerajaanAnimaliaFilumChordataKelasActinopteriOrdoPerciformesFamiliLabridaeGenusLabroidesSpesiesLabroides dimidiatus Valenciennes, 1839 lbs Ikan dokter, Labroides dimidiatus, adalah salah satu dari beberapa spesies keling pembersih yang ditemukan di terumbu karang dari Afrika Timur dan Laut Merah hingga Polinesia Prancis . Seperti keling pembersih lainnya, ia memakan parasit dan jaringan mati dari kulit ikan yan...

 

 

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (May 2020) This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help to improve this...

 

 

Alfalfa Medicago sativa Klasifikasi ilmiah Kerajaan: Plantae Divisi: Magnoliophyta Kelas: Magnoliopsida Ordo: Fabales Famili: Fabaceae Subfamili: Faboideae Tribus: Trifolieae Genus: Medicago Spesies: M. sativa Nama binomial Medicago sativaL.[1] Subspecies Medicago sativa subsp. ambigua (Trautv.) Tutin Medicago sativa subsp. microcarpa Urban Medicago sativa subsp. sativa L. Medicago sativa subsp. varia (T. Martyn) Arcang. Alfalfa (Medicago sativa) adalah spesies tanaman yang dima...

This article relies largely or entirely on a single source. Relevant discussion may be found on the talk page. Please help improve this article by introducing citations to additional sources.Find sources: Mashhad Northern Bypass Freeway – news · newspapers · books · scholar · JSTOR (November 2021) Mashhad Northern Bypass Freewayآزادراه کنارگذر شمالی مشهد2 آزادراهRoute informationPart of AH75 Length70 km (43 ...

 

 

2009 film by Patrick Alessandrin District 13: UltimatumTheatrical release posterFrenchBanlieue 13: Ultimatum Directed byPatrick AlessandrinWritten byLuc BessonProduced byLuc BessonStarring Cyril Raffaelli David Belle Philippe Torreton Daniel Duval Élodie Yung CinematographyJean-François HensgensMusic by Da Octopusss Trak Invaders Productioncompanies EuropaCorp TF1 Films Production CiBy 2000 Distributed byEuropaCorpRelease date 18 February 2009 (2009-02-18) (France) Runnin...

 

 

USS Mobile Bay Sejarah United States of America Nama Mobile BayAsal nama Battle of Mobile BayDipesan 15 January 1982Pembangun Ingalls Shipbuilding, Pascagoula, MississippiPasang lunas 6 June 1984Diluncurkan 22 August 1985Mulai berlayar 21 February 1987Pelabuhan daftar Naval Base San DiegoIdentifikasi Hull Symbol: CG-53 Call sign: NMOB Motto Full Speed AheadStatus aktif beroperasiLencana Ciri-ciri umum Kelas dan jenis Ticonderoga class cruiserBerat benaman Templat:Ticonderoga class cruiser di...

Voce principale: Trapani Calcio. Associazione Sportiva DrepanumStagione 1946-1947 Sport calcio Squadra Drepanum Allenatore Gino Pipitone Presidente Franco Adragna Serie C10º Miglior marcatoreCampionato: Papi, Li Causi, Massa, Pipitone (2)Totale: Papi (4) 1945-46 1947-48 Si invita a seguire il modello di voce Questa pagina raccoglie i dati riguardanti il Trapani Calcio nelle competizioni ufficiali della stagione 1946-1947. Indice 1 Stagione 2 Divise 3 Organigramma societario 4 Rosa 5 Ri...

 

 

Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujukan ke sumber tepercaya. Pernyataan tak bersumber bisa saja dipertentangkan dan dihapus.Cari sumber: Ajeng Kamaratih – berita · surat kabar · buku · cendekiawan · JSTOR Ajeng KamaratihLahirAjeng Kamaratih16 Agustus 1986 (umur 37) Jakarta, IndonesiaKebangsaan IndonesiaAlmamaterFakultas Hukum Universitas ...

 

 

此條目可参照英語維基百科相應條目来扩充。 (2021年5月6日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 约翰斯顿环礁Kalama Atoll 美國本土外小島嶼 Johnston Atoll 旗幟颂歌:《星條旗》The Star-Spangled Banner約翰斯頓環礁�...

2020年夏季奥林匹克运动会波兰代表團波兰国旗IOC編碼POLNOC波蘭奧林匹克委員會網站olimpijski.pl(英文)(波兰文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員206參賽項目24个大项旗手开幕式:帕维尔·科热尼奥夫斯基(游泳)和马娅·沃什乔夫斯卡(自行车)[1]闭幕式:卡罗利娜·纳亚(皮划艇)&#...

 

 

Olympic rowing event Men's coxed pairat the Games of the XXIV OlympiadA race during the competition; the United States team is in the foregroundVenueMisari RegattaDates20–25 SeptemberCompetitors42 from 14 nationsWinning time6:58.79Medalists Carmine AbbagnaleGiuseppe AbbagnaleGiuseppe Di Capua (cox) Italy Mario StreitDetlef KirchhoffRené Rensch (cox) East Germany Andy HolmesSteve RedgravePatrick Sweeney (cox) Great Britain← 19841992 → Rowing a...

 

 

Jonathan GreshamJonathan Gresham en octobre 2019.Données généralesNom de naissance Jonathan GreshamNom de ring HieraconJonathan DavisJonathan GreshamHero TigerSuicideNationalité AméricainNaissance 20 mars 1988 (36 ans)AtlantaTaille 5′ 4″ (1,63 m)[1]Poids 161 lb (73 kg)[1]Catcheur en activitéFédération Combat Zone WrestlingEvolveRing Of HonorEntraîneur Curtis Hughes (en)[2]Jay Fury[2]Carrière pro. 5 mars 2005 - aujourd'huimodifier - modifier le code ...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: The Nun 2005 film – news · newspapers · books · scholar · JSTOR (April 2015) (Learn how and when to remove this message) 2005 Spanish filmThe NunDirected byLuis De La MadridWritten byLuis De La MadridProduced byBrian YuznaStarringAnita BriemManu FullolaCri...

 

 

Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut...

 

 

Open Internet standards organization IETF redirects here. For other uses, see IETF (disambiguation). Internet Engineering Task ForceAbbreviationIETF[1]FormationJanuary 14, 1986; 38 years ago (1986-01-14)[2]TypeNon-profitStandards organizationPurposeCreating voluntary standards to maintain and improve the usability and interoperability of the InternetParent organizationInternet SocietyWebsiteietf.org InternetAn Opte Project visualization of routing paths throu...

一中同表,是台灣处理海峡两岸关系问题的一种主張,認為中华人民共和国與中華民國皆是“整個中國”的一部份,二者因為兩岸現狀,在各自领域有完整的管辖权,互不隶属,同时主張,二者合作便可以搁置对“整个中國”的主权的争议,共同承認雙方皆是中國的一部份,在此基礎上走向終極統一。最早是在2004年由台灣大學政治学教授張亞中所提出,希望兩岸由一中各表�...

 

 

American musician (born 1951) Verdine WhiteWhite in 2023Background informationBirth nameVerdine Adams Jr.Born (1951-07-25) July 25, 1951 (age 72)Chicago, Illinois, U.S.GenresR&B, funk, soul, jazz fusionOccupation(s)Musician, songwriter, producer, author, motivational speakerInstrument(s)Bass guitar, vocals, percussionsYears active1969–presentWebsiteOfficial websiteMusical artist Verdine Adams White (born Verdine Adams Jr.; July 25, 1951) is an American musician, best known as a fou...

 

 

TOP MediaNama asli티오피미디어IndustriHiburanDidirikanSeoul, Korea Selatan (2005)Kantorpusat34-11, Samseong-dong, Gangnam-gu, Seoul, Korea Selatan[1]TokohkunciAndy (pendiri)[2]Lee Jae-hong (이재홍; CEO)[3]Jasamanajemen artiscontents planningcontents producingpemasaran globalnew contents development[1]Situs webwww.itopgroup.com TOP Media (Hangul: 티오피미디어),(juga dikenal sebagai T.O.P Media) adalah perusahaan di Korea Selatan, didirkan...

American professional wrestler Leyla HirschHirsch in July 2019Born (1996-09-27) September 27, 1996 (age 27)[1][2]Moscow, RussiaProfessional wrestling careerRing name(s)Leyla HirschLegit Leyla HirschBilled height4 ft 11 in (150 cm)[3]Billed weight125 lb (57 kg)[3]Trained byJoe GacyDebut2017[4] Leyla Hirsch (Russian: Лейла Хирш; born September 27, 1996)[5] is a Russian-born American professional wrestler curr...

 

 

Article connexe : Estudiantes Madrid (féminin). Estudiantes Madrid Généralités Fondation 1948 Couleurs Maillot bleu short bleu Salle Madrid Arena (10 000 places) Président Miguel Ángel Bufalá Pérez[1] Entraîneur Jota Cuspinera Site web Site officiel Palmarès principal National[2] Coupe du Roi : 1963, 1992, 2000 Maillots       Domicile       Extérieur       Neutre modifier Le Club Baloncesto Estudiantes, plus connu en ...