Software design pattern (original) (raw)

About DBpedia

Entwurfsmuster (englisch design patterns) sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme sowohl in der Architektur als auch in der Softwarearchitektur und -entwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem bestimmten Zusammenhang einsetzbar ist. In den letzten Jahren hat der Ansatz der Entwurfsmuster auch zunehmendes Interesse im Bereich der Mensch-Computer-Interaktion gefunden. Ursprünglich wurde der Begriff in der Architektur von Christopher Alexander verwendet.

Property Value
dbo:abstract Návrhový vzor (anglicky design pattern) v softwarovém inženýrství představuje obecné řešení problému, které se využívá při návrhu počítačových programů. Návrhový vzor není knihovnou nebo částí zdrojového kódu, která by se dala přímo vložit do našeho programu, jedná se o popis řešení problému nebo šablonu, která může být použita v různých situacích. Objektově orientované návrhové vzory typicky ukazují vztahy a interakce mezi třídami a objekty, aniž by určovaly implementaci konkrétní třídy. Algoritmy nejsou považovány za návrhové vzory, protože řeší konkrétní problémy a nikoliv problémy návrhu. Návrhové vzory nepocházejí ze softwarového inženýrství – jsou zcela běžné v každodenním životě. K asi nejznámějším a nejstarším příkladům patří architektura. Gotickou katedrálu je možné poznat už zdaleka právě proto, že tehdejší architekti a jejich stavební společnosti používali stejné návrhové vzory. (cs) 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. (ca) تعتبر نماذج التصميم (بالإنجليزية: Design Patterns)‏ فرعاً مهمّاً من فروع وعلوم هندسة البرمجيات رغم انتقاد البعض له. تهدف نماذج التصميم إلى الاستخدام المتكرر لحلول وضعت لمشاكل تعتبر في حد ذاتها متكررة أو موجودة بكثرة في عملية تصميم البرمجيات. لا تنطبق هذه النظرية على تصميم البرمجيات فحسب، بل تتعداه إلى عدة علوم أخرى مثل هندسة المباني وهندسة الإلكترونيات وحتّى الطبخ. من الأخطاء المنتشرة اعتبار نماذج التصميم حلولًا كاملة أو جاهزة للاستخدام مباشرة، فهي لا تغدو أن تكون إلا نموذجا كما يدل اسمها يحتاج للتكييف والتحديد أكثر لكي يواجه مشكلة محددة.أغلب نماذج التصميم تعتمد على التوجه الكائني في البرمجة. لذلك نجدها تضع تصوراً قائم على التفاعلات والعلاقات الممكنة بين مختلف الفئات المكونة للبرنامج. (ar) Entwurfsmuster (englisch design patterns) sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme sowohl in der Architektur als auch in der Softwarearchitektur und -entwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem bestimmten Zusammenhang einsetzbar ist. In den letzten Jahren hat der Ansatz der Entwurfsmuster auch zunehmendes Interesse im Bereich der Mensch-Computer-Interaktion gefunden. Ursprünglich wurde der Begriff in der Architektur von Christopher Alexander verwendet. (de) Στην πληροφορική, ένα σχεδιαστικό πρότυπο ή σχεδιαστικό μοτίβο (design pattern) ορίζεται ως μία αποδεδειγμένα καλή λύση που έχει εφαρμοστεί με επιτυχία στην επίλυση ενός επαναλαμβανόμενου προβλήματος σχεδίασης συστημάτων λογισμικού. Τα πρότυπα σχεδίασης ορίζονται τόσο σε επίπεδο μακροσκοπικής σχεδίασης όσο και σε επίπεδο υλοποίησης, ενώ με τη χρήση τους ένας προγραμματιστής αντικαθιστά πρακτικώς μεγάλα τμήματα του κώδικα του με . Πρόκειται για αφαιρέσεις υψηλού επιπέδου που αποτελούν πλήρη υποσυστήματα, καταλλήλως ρυθμισμένα για την επίλυση συγκεκριμένων προβλημάτων σχεδίασης λογισμικού και έτοιμα για χρήση. (el) Los patrones de diseño son unas técnicas para resolver problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.​ (es) In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. Patterns that imply mutable state may be unsuited for functional programming languages. Some patterns can be rendered unnecessary in languages that have built-in support for solving the problem they are trying to solve, and object-oriented patterns are not necessarily suitable for non-object-oriented languages. Design patterns may be viewed as a structured approach to computer programming intermediate between the levels of a programming paradigm and a concrete algorithm. (en) Pola desain atau pola rancangan (bahasa Inggris: design pattern) adalah sebuah istilah di dalam rekayasa perangkat lunak yang mengacu pada solusi umum yang bisa dipergunakan kembali atau berulang-ulang untuk menyelesaikan masalah-masalah yang umum terjadi dalam konteks tertentu atau khusus yang ditemui pada desain perangkat lunak. Pola desain dapat dianalogikan sebagai sebuah resep makanan yang dapat digunakan untuk membuat makanan, tetapi pada kenyataannya selera orang berbeda-beda sehingga untuk menggunkan resep tersebut agar menghasilkan makanan yang enak dan sesuai harus dilakukan penyesuaian dengan kebutuhan dan keadaan. Pola yang sudah dibangun diformulasikan sedemikian rupa untuk menemukan cara terbaik memecahkan masalah, tetapi tetap saja programmer harus menerapkan pola tersebut dengan pendekatan yang sesuai dengan konteks masalah yang sedang dialami, dengan penyesuaian terhadap kebutuhan. Ada banyak jenis pola desain. Contohnya: * Pola Strategi Algoritme, yang menangani masalah yang berkaitan dengan strategi tingkat tinggi yang menggambarkan bagaimana memanfaatkan karakteristik aplikasi pada platform komputasi. * Pola Desain Komputasi, menangani masalah yang berkaitan dengan identifikasi perhitungan kunci atau id. * Pola Eksekusi, berkaitan dengan hal-hal yang mendukung proses eksekusi aplikasi, termasuk strategi untuk melaksanakan alur tugas dan blok bangunan untuk mendukung tugas sinkronisasi. * Pola Strategi Implementasi, menangani masalah terkait dengan pelaksanaan kode untuk mendukung organisasi program dan struktur data umum khusus untuk pemrograman paralel. * Pola Desain Struktural, menangani masalah yang berkaitan dengan struktur tingkat tinggi aplikasi yang dikembangkan. (in) Design pattern (traducibile in lingua italiana come schema progettuale, schema di progettazione, o schema architetturale), in informatica e specialmente nell'ambito dell'ingegneria del software, è un concetto che può essere definito "una soluzione progettuale generale ad un problema ricorrente". Si tratta di una descrizione o modello logico da applicare per la risoluzione di un problema che può presentarsi in diverse situazioni durante le fasi di progettazione e sviluppo del software, ancor prima della definizione dell'algoritmo risolutivo della parte computazionale. È un approccio spesso efficace nel contenere o ridurre il debito tecnico. I design pattern orientati agli oggetti tipicamente mostrano relazioni ed interazioni tra classi o oggetti, senza specificare le classi applicative finali coinvolte, risiedendo quindi nel dominio dei e delle interconnessioni. Ad un livello più alto sono invece i pattern architetturali che hanno un ambito ben più ampio, descrivendo un pattern complessivo adottato dall'intero sistema, la cui implementazione logica dà vita a un framework. (it) En informatique, et plus particulièrement en développement logiciel, un patron de conception (souvent appelé design pattern) est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels. Un patron de conception est issu de l'expérience des concepteurs de logiciels[source insuffisante]. Il décrit un arrangement récurrent de rôles et d'actions joués par des modules d'un logiciel, et le nom du patron sert de vocabulaire commun entre le concepteur et le programmeur. D'une manière analogue à un motif de conception en architecture, le patron de conception décrit les grandes lignes d'une solution, qui peuvent ensuite être modifiées et adaptées en fonction des besoins. Les patrons de conception décrivent des procédés de conception généraux et permettent en conséquence de capitaliser l'expérience appliquée à la conception de logiciel. Ils ont une influence sur l'architecture logicielle d'un système informatique. (fr) 소프트웨어 디자인 패턴(software design pattern)은 소프트웨어 공학의 소프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 소스나 기계 코드로 바로 전환될수 있는 완성된 디자인은 아니며, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는데에 쓰이는 서술이나 템플릿이다. 디자인 패턴은 프로그래머가 어플리케이션이나 시스템을 디자인할 때 공통된 문제들을 해결하는데에 쓰이는 형식화 된 가장 좋은 관행이다. (ko) Wzorzec projektowy (ang. design pattern) – uniwersalne, sprawdzone w praktyce rozwiązanie często pojawiających się, powtarzalnych problemów projektowych. Pokazuje powiązania i zależności pomiędzy klasami oraz obiektami i ułatwia tworzenie, modyfikację oraz utrzymanie kodu źródłowego. Jest opisem rozwiązania, a nie jego implementacją. Wzorce projektowe stosowane są w projektach wykorzystujących programowanie obiektowe. (pl) ソフトウェア開発におけるデザインパターンまたは設計パターン(英: design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。パターン(pattern)とは、型紙(かたがみ)やひな形を意味する。 本稿でのデザインは狭義の設計という意味であり、CSSやHTMLなどで使われる意匠デザインの定形を示す「デザインパターン」とは異なる。 (ja) Een ontwerppatroon of patroon (Engels: design pattern) in de informatica is een generiek opgezette softwarestructuur, die een bepaald veelvoorkomend type software-ontwerpprobleem oplost. Het patroon geeft geen concrete oplossing, maar biedt een soort sjabloon, waarmee het ontwerpprobleem kan worden aangepakt. In de wereld van het objectgeoriënteerd programmeren zal een ontwerppatroon eruitzien als een klassendiagram, waar de relatie tussen de verschillende klassen en objecten weergegeven wordt. Een ontwerppatroon is geen algoritme, omdat een algoritme een berekeningsprobleem oplost en geen ontwerpprobleem. Onderstaand artikel geeft uitleg over het meest gebruikte groep van patronen, die van de "gang of four". Voor andere patronen, zie GRASP. Naast ontwerppatronen zijn er in de loop van de tijd ook patronen ontstaan op het gebied van de informatiearchitectuur en voor het het beveiligen van informatie. (nl) Шаблон проектирования или паттерн (англ. design pattern) в разработке программного обеспечения — повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях. Объектно-ориентированные шаблоны показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться. «Низкоуровневые» шаблоны, учитывающие специфику конкретного языка программирования, называются идиомами. Это хорошие решения проектирования, характерные для конкретного языка или программной платформы, и потому не универсальные. На наивысшем уровне существуют архитектурные шаблоны, они охватывают собой архитектуру всей программной системы. Алгоритмы по своей сути также являются шаблонами, но не проектирования, а вычисления, так как решают вычислительные задачи. (ru) Em Engenharia de Software, um padrão de desenho (português europeu) ou padrão de projeto (português brasileiro) (do inglês design pattern) é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software. Um padrão de projeto não é um projeto finalizado que pode ser diretamente transformado em código fonte ou de máquina, ele é uma descrição ou modelo (template) de como resolver um problema que pode ser usado em muitas situações diferentes. Padrões são melhores práticas formalizadas que o programador pode usar para resolver problemas comuns quando projetar uma aplicação ou sistema. Padrões de projeto orientados a objeto normalmente mostram relacionamentos e interações entre classes ou objetos, sem especificar as classes ou objetos da aplicação final que estão envolvidas. Padrões que implicam orientação a objetos ou estado mutável mais geral, não são tão aplicáveis em linguagens de programação funcional. Padrões de projeto residem no domínio de módulos e interconexões. Em um nível mais alto há que são maiores em escopo, usualmente descrevendo um padrão global seguido por um sistema inteiro. As características obrigatórias que devem ser atendidas por um padrão de projeto é composto basicamente por 4 (quatro) elementos que são: * Nome do padrão; * Problema a ser resolvido; * Solução dada pelo padrão; e * Consequências. Os padrões de projeto: * visam facilitar a reutilização de soluções de desenho - isto é, soluções na fase de projeto do software - e * estabelecem um vocabulário comum de desenho, facilitando comunicação, documentação e aprendizado dos sistemas de software. (pt) Designmönster (design pattern på engelska) är en problemidentifieringsteknik inom arkitektur och programutvecklingsmetodik som innebär att man katalogiserar olika typiska problem och deras typiska lösningar. Upphovsmannen till konceptet designmönster, arkitekten Christopher Alexander, tänkte sig ett designmönster som kärnan till lösningen på ett för arkitekter vanligt förekommande problem. Dessa tankegångar var enkla och lämpliga att föra över på utveckling av mjukvara, framförallt objektorienterad sådan: metoden syftar då till att genom rikliga exemplifieringar kodifiera kunskap om programutveckling. Standardverken på området är Design Patterns av Erich Gamma, Richard Helm, Ralph Johnson och John Vlissides (kallade Gang of Four, eller under förkortningen GoF) då det gäller mjukvarutveckling och då det gäller arkitektur. (sv) 在軟體工程中,設計模式(design pattern)是對軟體設計中普遍存在(反覆出現)的各種問題,所提出的解決方案。這個術語是由埃里希·伽瑪(Erich Gamma)等人在1990年代從建筑设计領域引入到計算機科學的。 設計模式並不直接用來完成程式碼的編寫,而是描述在各種不同情況下,要怎麼解決問題的一種方案。面向对象設計模式通常以類別或物件來描述其中的關係和相互作用,但不涉及用來完成應用程式的特定類別或物件。設計模式能使不穩定依賴於相對穩定、具體依賴於相對抽象,避免會引起麻煩的緊耦合,以增強軟體設計面對並適應變化的能力。 並非所有的軟體模式都是設計模式,設計模式特指軟體“設計”層次上的問題。還有其他非設計模式的模式,如架構模式。同时,演算法不能算是一種設計模式,因為演算法主要是用來解決計算上的問題,而非設計上的問題。 随着软件开发社群对设计模式的兴趣日益增长,已经出版了一些相关的专著,定期召开相应的研讨会,而且沃德·坎宁安(Ward Cunningham)为此发明了WikiWiki用来交流设计模式的经验。 (zh) Шаблони проєктування програмного забезпечення (англ. software design patterns) — ефектні способи вирішення задач проєктування програмного забезпечення. Шаблон не є закінченим зразком, який можна безпосередньо транслювати в програмний код. Об'єктно-орієнтований шаблон найчастіше є зразком вирішення проблеми і відображає відношення між класами та об'єктами, без вказівки на те, як буде зрештою реалізоване це відношення. (uk)
dbo:wikiPageExternalLink https://web.archive.org/web/20030801111358/http:/dreamsongs.com/NewFiles/PatternsOfSoftware.pdf https://web.archive.org/web/20070617114432/http:/www.cix.co.uk/~smallmemory http://www.cix.co.uk/~smallmemory/ http://www.dreamsongs.com/NewFiles/PatternsOfSoftware.pdf https://archive.org/details/ejbdesignpattern00mari https://archive.org/details/isbn_9780321247148 https://archive.org/details/patternsforparal0000matt https://archive.org/details/remotingpatterns0000volt https://docs.microsoft.com/en-us/dotnet/api/system.threading.interlocked%3Fview=net-5.0
dbo:wikiPageID 164952 (xsd:integer)
dbo:wikiPageLength 44701 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1117368062 (xsd:integer)
dbo:wikiPageWikiLink dbr:Behavioral_pattern dbr:Prentice_Hall dbr:Programming_paradigm dbr:Prototype_pattern dbr:Memento_pattern dbr:Monitor_(synchronization) dbr:Messaging_pattern dbr:Binding_properties_pattern dbr:Bridge_pattern dbr:Debugging_patterns dbr:Design_Patterns_(book) dbr:Algorithm dbr:Algorithmic_skeleton dbr:Anti-pattern dbr:Join-pattern dbr:Joshua_Bloch dbr:Best_practice dbr:Pedagogical_patterns dbr:Peter_Norvig dbr:Resource_Acquisition_Is_Initialization dbr:Decorator_pattern dbr:Dependency_injection dbr:Design_Patterns dbr:Design_pattern dbr:Double-chance_function dbr:Indirection dbr:Information_visualization dbr:Interaction dbr:Interaction_design_pattern dbr:Interpreter_pattern dbr:GPU dbr:John_Wiley_&_Sons dbr:User_interface dbr:Publish/subscribe dbr:Matrix_multiplication dbr:Object_(computer_science) dbr:Observer_pattern dbr:Specification_pattern dbr:Christopher_Alexander dbr:Concurrency_pattern dbr:Connection_pool dbr:Convolutional_neural_network dbr:Copy-on-write dbr:Creational_pattern dbr:Refactoring dbr:Lisp_(programming_language) dbr:Command_pattern dbr:Composite_pattern dbr:Compute_kernel dbr:Computer_programming dbr:Computer_science dbr:Front_controller dbr:Functional_programming dbr:Helper_class dbr:Object_pool_pattern dbr:Pattern-Oriented_Software_Architecture dbr:Pattern_(architecture) dbr:Pattern_language dbr:Pattern_theory dbr:Portland_Pattern_Repository dbr:Thread_pool_pattern dbr:State_pattern dbr:Strategy_pattern dbr:Marker_interface_pattern dbr:Mutual_exclusion dbr:Software_engineering dbr:Balking_pattern dbr:C++ dbr:C_Sharp_(programming_language) dbr:Active_object dbr:Adapter_pattern dbr:Aggregate_pattern dbc:Software_development dbc:Software_engineering dbr:Ward_Cunningham dbr:Distributed_design_patterns dbr:Documentation dbr:GRASP_(object-oriented_design) dbr:HTTP_Switchboard dbr:Lazy_initialization dbr:Lock_(computer_science) dbr:Structural_pattern dbr:Addison-Wesley dbr:Dylan_(programming_language) dbr:Erich_Gamma dbr:Oxford_University_Press dbr:Fluent_interface dbr:Flyweight_pattern dbr:Iterator_pattern dbr:Enterprise_Architecture_framework dbr:John_Vlissides dbr:Unified_Modeling_Language dbr:Machine_code dbr:Source_code dbr:Proxy_pattern dbr:Reactor_pattern dbr:Reusability dbr:Asynchronous_method_invocation dbr:Java_(programming_language) dbr:Artificial_intelligence dbr:Abstract_factory_pattern dbc:Software_design_patterns dbr:Kent_Beck dbr:Blackboard_(design_pattern) dbr:Blackboard_system dbr:Code_Complete dbr:Template_method_pattern dbr:Module_pattern dbr:Software_design dbr:Aspect-oriented_programming dbr:Martin_Fowler_(software_engineer) dbr:Boolean_algebra dbr:Apress dbr:Builder_pattern dbr:Business_logic dbr:Software_componentry dbr:Guarded_suspension dbr:Scheduler_pattern dbr:O'Reilly_Media dbr:OOPSLA dbr:Object-oriented dbr:Canonical_protocol_pattern dbr:Ralph_Johnson_(computer_scientist) dbr:Read/write_lock_pattern dbr:Chain-of-responsibility_pattern dbr:Programming_idiom dbr:Loose_coupling dbr:Mediator_pattern dbr:Software_development_methodology dbr:Singleton_pattern dbr:Twin_pattern dbr:Visitor_pattern dbr:Facade_pattern dbr:Factory_method_pattern dbr:List_of_software_development_philosophies dbr:Null_Object_pattern dbr:Thread_pool dbr:Multiton_pattern dbr:Scheduling_(computing) dbr:Paul_Graham_(computer_programmer) dbr:Class_(computer_science) dbr:Richard_Helm dbr:List_of_software_engineering_topics dbr:Architectural_pattern_(computer_science) dbr:Double_checked_locking_pattern dbr:Abstraction_principle_(programming) dbr:Design_pattern_Servant dbr:Pattern_Languages_of_Programming dbr:Software_reuse dbr:Thread-Specific_Storage dbr:Interaction_diagram dbr:Object_pool dbr:Event-Based_Asynchronous_Pattern
dbp:wikiPageUsesTemplate dbt:Abbr dbt:Authority_control dbt:Citation_needed dbt:Cite_book dbt:Div_col dbt:Div_col_end dbt:N/a dbt:No dbt:Refbegin dbt:Refend dbt:Reflist dbt:Section_link dbt:Short_description dbt:Yes dbt:Design_Patterns_patterns
dct:subject dbc:Software_development dbc:Software_engineering dbc:Software_design_patterns
gold:hypernym dbr:Solution
rdf:type owl:Thing dbo:Software yago:WikicatSoftwareDesignPatterns yago:Abstraction100002137 yago:Cognition100023271 yago:Form105930736 yago:PsychologicalFeature100023100 yago:Structure105726345
rdfs:comment Entwurfsmuster (englisch design patterns) sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme sowohl in der Architektur als auch in der Softwarearchitektur und -entwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem bestimmten Zusammenhang einsetzbar ist. In den letzten Jahren hat der Ansatz der Entwurfsmuster auch zunehmendes Interesse im Bereich der Mensch-Computer-Interaktion gefunden. Ursprünglich wurde der Begriff in der Architektur von Christopher Alexander verwendet. (de) Στην πληροφορική, ένα σχεδιαστικό πρότυπο ή σχεδιαστικό μοτίβο (design pattern) ορίζεται ως μία αποδεδειγμένα καλή λύση που έχει εφαρμοστεί με επιτυχία στην επίλυση ενός επαναλαμβανόμενου προβλήματος σχεδίασης συστημάτων λογισμικού. Τα πρότυπα σχεδίασης ορίζονται τόσο σε επίπεδο μακροσκοπικής σχεδίασης όσο και σε επίπεδο υλοποίησης, ενώ με τη χρήση τους ένας προγραμματιστής αντικαθιστά πρακτικώς μεγάλα τμήματα του κώδικα του με . Πρόκειται για αφαιρέσεις υψηλού επιπέδου που αποτελούν πλήρη υποσυστήματα, καταλλήλως ρυθμισμένα για την επίλυση συγκεκριμένων προβλημάτων σχεδίασης λογισμικού και έτοιμα για χρήση. (el) Los patrones de diseño son unas técnicas para resolver problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.​ (es) 소프트웨어 디자인 패턴(software design pattern)은 소프트웨어 공학의 소프트웨어 디자인에서 특정 문맥에서 공통적으로 발생하는 문제에 대해 재사용 가능한 해결책이다. 소스나 기계 코드로 바로 전환될수 있는 완성된 디자인은 아니며, 다른 상황에 맞게 사용될 수 있는 문제들을 해결하는데에 쓰이는 서술이나 템플릿이다. 디자인 패턴은 프로그래머가 어플리케이션이나 시스템을 디자인할 때 공통된 문제들을 해결하는데에 쓰이는 형식화 된 가장 좋은 관행이다. (ko) Wzorzec projektowy (ang. design pattern) – uniwersalne, sprawdzone w praktyce rozwiązanie często pojawiających się, powtarzalnych problemów projektowych. Pokazuje powiązania i zależności pomiędzy klasami oraz obiektami i ułatwia tworzenie, modyfikację oraz utrzymanie kodu źródłowego. Jest opisem rozwiązania, a nie jego implementacją. Wzorce projektowe stosowane są w projektach wykorzystujących programowanie obiektowe. (pl) ソフトウェア開発におけるデザインパターンまたは設計パターン(英: design pattern)とは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。パターン(pattern)とは、型紙(かたがみ)やひな形を意味する。 本稿でのデザインは狭義の設計という意味であり、CSSやHTMLなどで使われる意匠デザインの定形を示す「デザインパターン」とは異なる。 (ja) 在軟體工程中,設計模式(design pattern)是對軟體設計中普遍存在(反覆出現)的各種問題,所提出的解決方案。這個術語是由埃里希·伽瑪(Erich Gamma)等人在1990年代從建筑设计領域引入到計算機科學的。 設計模式並不直接用來完成程式碼的編寫,而是描述在各種不同情況下,要怎麼解決問題的一種方案。面向对象設計模式通常以類別或物件來描述其中的關係和相互作用,但不涉及用來完成應用程式的特定類別或物件。設計模式能使不穩定依賴於相對穩定、具體依賴於相對抽象,避免會引起麻煩的緊耦合,以增強軟體設計面對並適應變化的能力。 並非所有的軟體模式都是設計模式,設計模式特指軟體“設計”層次上的問題。還有其他非設計模式的模式,如架構模式。同时,演算法不能算是一種設計模式,因為演算法主要是用來解決計算上的問題,而非設計上的問題。 随着软件开发社群对设计模式的兴趣日益增长,已经出版了一些相关的专著,定期召开相应的研讨会,而且沃德·坎宁安(Ward Cunningham)为此发明了WikiWiki用来交流设计模式的经验。 (zh) Шаблони проєктування програмного забезпечення (англ. software design patterns) — ефектні способи вирішення задач проєктування програмного забезпечення. Шаблон не є закінченим зразком, який можна безпосередньо транслювати в програмний код. Об'єктно-орієнтований шаблон найчастіше є зразком вирішення проблеми і відображає відношення між класами та об'єктами, без вказівки на те, як буде зрештою реалізоване це відношення. (uk) تعتبر نماذج التصميم (بالإنجليزية: Design Patterns)‏ فرعاً مهمّاً من فروع وعلوم هندسة البرمجيات رغم انتقاد البعض له. تهدف نماذج التصميم إلى الاستخدام المتكرر لحلول وضعت لمشاكل تعتبر في حد ذاتها متكررة أو موجودة بكثرة في عملية تصميم البرمجيات. لا تنطبق هذه النظرية على تصميم البرمجيات فحسب، بل تتعداه إلى عدة علوم أخرى مثل هندسة المباني وهندسة الإلكترونيات وحتّى الطبخ. (ar) 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. (ca) Návrhový vzor (anglicky design pattern) v softwarovém inženýrství představuje obecné řešení problému, které se využívá při návrhu počítačových programů. Návrhový vzor není knihovnou nebo částí zdrojového kódu, která by se dala přímo vložit do našeho programu, jedná se o popis řešení problému nebo šablonu, která může být použita v různých situacích. Objektově orientované návrhové vzory typicky ukazují vztahy a interakce mezi třídami a objekty, aniž by určovaly implementaci konkrétní třídy. Algoritmy nejsou považovány za návrhové vzory, protože řeší konkrétní problémy a nikoliv problémy návrhu. (cs) Pola desain atau pola rancangan (bahasa Inggris: design pattern) adalah sebuah istilah di dalam rekayasa perangkat lunak yang mengacu pada solusi umum yang bisa dipergunakan kembali atau berulang-ulang untuk menyelesaikan masalah-masalah yang umum terjadi dalam konteks tertentu atau khusus yang ditemui pada desain perangkat lunak. Ada banyak jenis pola desain. Contohnya: (in) En informatique, et plus particulièrement en développement logiciel, un patron de conception (souvent appelé design pattern) est un arrangement caractéristique de modules, reconnu comme bonne pratique en réponse à un problème de conception d'un logiciel. Il décrit une solution standard, utilisable dans la conception de différents logiciels. Les patrons de conception décrivent des procédés de conception généraux et permettent en conséquence de capitaliser l'expérience appliquée à la conception de logiciel. Ils ont une influence sur l'architecture logicielle d'un système informatique. (fr) In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. Rather, it is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system. (en) Design pattern (traducibile in lingua italiana come schema progettuale, schema di progettazione, o schema architetturale), in informatica e specialmente nell'ambito dell'ingegneria del software, è un concetto che può essere definito "una soluzione progettuale generale ad un problema ricorrente". Si tratta di una descrizione o modello logico da applicare per la risoluzione di un problema che può presentarsi in diverse situazioni durante le fasi di progettazione e sviluppo del software, ancor prima della definizione dell'algoritmo risolutivo della parte computazionale. È un approccio spesso efficace nel contenere o ridurre il debito tecnico. (it) Een ontwerppatroon of patroon (Engels: design pattern) in de informatica is een generiek opgezette softwarestructuur, die een bepaald veelvoorkomend type software-ontwerpprobleem oplost. Het patroon geeft geen concrete oplossing, maar biedt een soort sjabloon, waarmee het ontwerpprobleem kan worden aangepakt. In de wereld van het objectgeoriënteerd programmeren zal een ontwerppatroon eruitzien als een klassendiagram, waar de relatie tussen de verschillende klassen en objecten weergegeven wordt. Een ontwerppatroon is geen algoritme, omdat een algoritme een berekeningsprobleem oplost en geen ontwerpprobleem. Onderstaand artikel geeft uitleg over het meest gebruikte groep van patronen, die van de "gang of four". Voor andere patronen, zie GRASP. Naast ontwerppatronen zijn er in de loop van de (nl) Em Engenharia de Software, um padrão de desenho (português europeu) ou padrão de projeto (português brasileiro) (do inglês design pattern) é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software. Um padrão de projeto não é um projeto finalizado que pode ser diretamente transformado em código fonte ou de máquina, ele é uma descrição ou modelo (template) de como resolver um problema que pode ser usado em muitas situações diferentes. Padrões são melhores práticas formalizadas que o programador pode usar para resolver problemas comuns quando projetar uma aplicação ou sistema. Padrões de projeto orientados a objeto normalmente mostram relacionamentos e interações entre classes ou objetos, sem especificar as classes ou objetos da ap (pt) Designmönster (design pattern på engelska) är en problemidentifieringsteknik inom arkitektur och programutvecklingsmetodik som innebär att man katalogiserar olika typiska problem och deras typiska lösningar. Upphovsmannen till konceptet designmönster, arkitekten Christopher Alexander, tänkte sig ett designmönster som kärnan till lösningen på ett för arkitekter vanligt förekommande problem. Dessa tankegångar var enkla och lämpliga att föra över på utveckling av mjukvara, framförallt objektorienterad sådan: metoden syftar då till att genom rikliga exemplifieringar kodifiera kunskap om programutveckling. (sv) Шаблон проектирования или паттерн (англ. design pattern) в разработке программного обеспечения — повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. «Низкоуровневые» шаблоны, учитывающие специфику конкретного языка программирования, называются идиомами. Это хорошие решения проектирования, характерные для конкретного языка или программной платформы, и потому не универсальные. На наивысшем уровне существуют архитектурные шаблоны, они охватывают собой архитектуру всей программной системы. (ru)
rdfs:label نماذج التصميم (هندسة البرمجيات) (ar) Patró de disseny (ca) Návrhový vzor (cs) Entwurfsmuster (de) Σχεδιαστικά πρότυπα (el) Patrón de diseño (es) Pola desain (in) Patron de conception (fr) Design pattern (it) 소프트웨어 디자인 패턴 (ko) デザインパターン (ソフトウェア) (ja) Ontwerppatroon (nl) Wzorzec projektowy (informatyka) (pl) Software design pattern (en) Padrão de projeto de software (pt) Designmönster (sv) Шаблон проектирования (ru) 设计模式 (计算机) (zh) Шаблони проєктування програмного забезпечення (uk)
owl:sameAs freebase:Software design pattern dbpedia-fi:Software design pattern http://d-nb.info/gnd/4546895-3 dbpedia-commons:Software design pattern wikidata:Software design pattern dbpedia-af:Software design pattern dbpedia-als:Software design pattern dbpedia-ar:Software design pattern http://ast.dbpedia.org/resource/Patrón_de_diseñu dbpedia-bg:Software design pattern http://bs.dbpedia.org/resource/Računarska_dizajn_šema dbpedia-ca:Software design pattern dbpedia-cs:Software design pattern dbpedia-da:Software design pattern dbpedia-de:Software design pattern dbpedia-el:Software design pattern dbpedia-es:Software design pattern dbpedia-et:Software design pattern dbpedia-fa:Software design pattern dbpedia-fr:Software design pattern dbpedia-gl:Software design pattern dbpedia-he:Software design pattern http://hi.dbpedia.org/resource/डिज़ाइन_पैटर्न_(कंप्यूटर_विज्ञान) dbpedia-hu:Software design pattern http://hy.dbpedia.org/resource/Նախագծման_ձևանմուշներ http://ia.dbpedia.org/resource/Patrono_de_designo dbpedia-id:Software design pattern dbpedia-it:Software design pattern dbpedia-ja:Software design pattern dbpedia-kk:Software design pattern dbpedia-ko:Software design pattern http://lt.dbpedia.org/resource/Projektavimo_pavyzdys http://lv.dbpedia.org/resource/Projektēšanas_šablons http://ml.dbpedia.org/resource/ഡിസൈൻ_പാറ്റേൺ_(കമ്പ്യൂട്ടർ_ശാസ്ത്രം) dbpedia-nl:Software design pattern dbpedia-no:Software design pattern dbpedia-pl:Software design pattern dbpedia-pt:Software design pattern dbpedia-ru:Software design pattern dbpedia-sh:Software design pattern dbpedia-simple:Software design pattern dbpedia-sr:Software design pattern dbpedia-sv:Software design pattern http://ta.dbpedia.org/resource/வடிவமைப்புப்_பாங்கு dbpedia-th:Software design pattern dbpedia-tr:Software design pattern dbpedia-uk:Software design pattern dbpedia-vi:Software design pattern dbpedia-zh:Software design pattern https://global.dbpedia.org/id/kVaF yago-res:Software design pattern
prov:wasDerivedFrom wikipedia-en:Software_design_pattern?oldid=1117368062&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Software_design_pattern
is dbo:academicDiscipline of dbr:Pattern_Languages_of_Programs
is dbo:knownFor of dbr:Daniel_C._M._May
is dbo:wikiPageDisambiguates of dbr:Pattern_(disambiguation) dbr:DP
is dbo:wikiPageRedirects of dbr:List_of_Object-oriented_design_patterns dbr:List_of_software_design_patterns dbr:Programming_pattern dbr:Software_design_patterns dbr:Software_pattern dbr:Design_Pattern_(Computer_Science) dbr:Design_pattern_(computer_science) dbr:Design_pattern_(computing) dbr:Design_patterns_(computer_science) dbr:Programmer's_practice dbr:Programming_design_pattern dbr:Programming_practice
is dbo:wikiPageWikiLink of dbr:CakePHP dbr:Ruby_on_Rails dbr:Encapsulation_(computer_programming) dbr:Enterprise_Integration_Patterns dbr:NVI dbr:Binding_properties_pattern dbr:Bridge_pattern dbr:Delegation_(object-oriented_programming) dbr:Architectural_pattern dbr:Join-pattern dbr:Joomla dbr:List_of_Object-oriented_design_patterns dbr:List_of_software_design_patterns dbr:Pattern_Languages_of_Programs dbr:Per_Brinch_Hansen dbr:Undo dbr:Value_object dbr:Dependency_injection dbr:Design_Patterns dbr:Design_paradigm dbr:Design_pattern dbr:Design_system dbr:Double-checked_locking dbr:Index_of_object-oriented_programming_articles dbr:Intercepting_filter_pattern dbr:Interceptor_pattern dbr:Kyle_Brown_(computer_scientist) dbr:Library_Oriented_Architecture dbr:List_of_programming_language_researchers dbr:SPARQL dbr:Object_(computer_science) dbr:Observer_pattern dbr:Specification_pattern dbr:Monad_(functional_programming) dbr:Continuation dbr:Programming_pattern dbr:Arc_(programming_language) dbr:Mangler_pattern dbr:Smalltalk dbr:Command_pattern dbr:Communication_protocol dbr:Component-based_software_engineering dbr:Composite_entity_pattern dbr:Computer-supported_cooperative_work dbr:Delegation_pattern dbr:Front_controller dbr:Identity_map_pattern dbr:Software_architecture dbr:Pattern dbr:Pattern_(disambiguation) dbr:Pattern_language dbr:Pipeline_(software) dbr:Poltergeist_(computer_programming) dbr:Portland_Pattern_Repository dbr:State_pattern dbr:Active_object dbr:Adapter_pattern dbr:Aggregate_pattern dbr:Data_clump dbr:Data_collection_system dbr:Data_transfer_object dbr:Ward_Cunningham dbr:Web_framework dbr:WikiWikiWeb dbr:DP dbr:Head–body_pattern dbr:Lazy_initialization dbr:Adaptive_Communication_Environment dbr:Agile_software_development dbr:Daniel_C._M._May dbr:Cargo_cult_programming dbr:Forwarding_(object-oriented_programming) dbr:History_of_wikis dbr:Proxy_pattern dbr:Asynchronous_method_invocation dbr:The_Hillside_Group dbr:Jim_Coplien dbr:Software_design_patterns dbr:A_Pattern_Language dbr:Abstract_factory_pattern dbr:Abstraction_(computer_science) dbr:Access_level dbr:Kent_Beck dbr:BioMA dbr:Blackboard_(design_pattern) dbr:Template_method_pattern dbr:Associative_array dbr:Authors'_conference dbr:Builder_pattern dbr:Pointer_jumping dbr:Software_pattern dbr:Guard_rail dbr:Chain-of-responsibility_pattern dbr:Simple_API_for_Grid_Applications dbr:Singleton_pattern dbr:Twin_(disambiguation) dbr:Twin_pattern dbr:Visitor_pattern dbr:Facade_pattern dbr:Factory_(object-oriented_programming) dbr:Event_loop dbr:Thread_pool dbr:Ricardian_contract dbr:Design_Pattern_(Computer_Science) dbr:Design_pattern_(computer_science) dbr:Design_pattern_(computing) dbr:Design_patterns_(computer_science) dbr:Programmer's_practice dbr:Programming_design_pattern dbr:Programming_practice
is foaf:primaryTopic of wikipedia-en:Software_design_pattern