Decorator pattern (original) (raw)

About DBpedia

نموذج التصميم ديكور يهدف إلى توفير وسيلة لربط الحالات الجديدة والسلوك إلى كائن بطريقة ديناميكية. والكائن لا يعلم انه يجري عليه عملية ديكور "Decoration"، الأمر الذي يجعل هذا النموذج مفيد لتطور النظم. وهناك نقطة رئيسية في تنفيذ هذا النموذج وهو انه يعمل على تزيين ال class الاصلي وحتى المورث منه على حد سواء.

thumbnail

Property Value
dbo:abstract نموذج التصميم ديكور يهدف إلى توفير وسيلة لربط الحالات الجديدة والسلوك إلى كائن بطريقة ديناميكية. والكائن لا يعلم انه يجري عليه عملية ديكور "Decoration"، الأمر الذي يجعل هذا النموذج مفيد لتطور النظم. وهناك نقطة رئيسية في تنفيذ هذا النموذج وهو انه يعمل على تزيين ال class الاصلي وحتى المورث منه على حد سواء. (ar) En la programació orientada a objectes, el patró Decorator (alternativament conegut com a Wrapper, un nom amb què també és conegut el patró Adaptador) és un patró de disseny que permet afegir un comportament a un objecte, tant estàticament com dinàmicament, sense que la resta d'objectes de la mateixa classe vegin alterat el seu comportament El patró Decorator és útil sovint per complir el principi de responsabilitat única, car permet dividir una funcionalitat en diverses classes amb una única àrea d'afectació. (ca) Dekorátor je jeden ze strukturálních návrhových vzorů, které řeší otázku struktury programu. Je znám také pod názvem Wrapper. (cs) Der Decorator (auch Dekorierer) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung, das zur Kategorie der Strukturmuster (engl. structural patterns) gehört. Das Muster ist eine flexible Alternative zur Unterklassenbildung, um eine Klasse um zusätzliche Funktionalitäten zu erweitern. Es ist ein Entwurfsmuster der sogenannten GoF-Muster. (de) In object-oriented programming, the decorator pattern is a design pattern that allows behavior to be added to an individual object, dynamically, without affecting the behavior of other objects from the same class. The decorator pattern is often useful for adhering to the Single Responsibility Principle, as it allows functionality to be divided between classes with unique areas of concern as well as to the Open-Closed Principle, by allowing the functionality of a class to be extended without being modified. Decorator use can be more efficient than subclassing, because an object's behavior can be augmented without defining an entirely new object. (en) El patrón Decorator responde a la necesidad de añadir dinámicamente funcionalidad a un Objeto. Esto nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera. (es) En génie logiciel, un décorateur est le nom d'une des structures de patron de conception. Un décorateur permet d'attacher dynamiquement de nouvelles responsabilités à un objet. Les décorateurs offrent une alternative assez souple à l'héritage pour composer de nouvelles fonctionnalités. (fr) Nella programmazione ad oggetti, il decorator è uno dei pattern fondamentali, definiti originariamente dalla Gang of Four. Il design pattern decorator consente di aggiungere nuove funzionalità ad oggetti già esistenti. Questo viene realizzato costruendo una nuova classe decoratore che "avvolge" l'oggetto originale. Al costruttore del decoratore si passa come parametro l'oggetto originale. È altresì possibile passarvi un differente decoratore. In questo modo, più decoratori possono essere concatenati l'uno all'altro, aggiungendo così in modo incrementale funzionalità alla classe concreta (che è rappresentata dall'ultimo anello della catena). La concatenazione dei decoratori può avvenire secondo una composizione arbitraria: il numero di comportamenti possibili dell'oggetto composto varia dunque con legge combinatoriale rispetto al numero dei decoratori disponibili. Questo pattern si pone come valida alternativa all'uso dell'ereditarietà singola o multipla. Con l'ereditarietà, infatti, l'aggiunta di funzionalità avviene staticamente secondo i legami definiti nella gerarchia di classi e non è possibile ottenere al run-time una combinazione arbitraria delle funzionalità, né la loro aggiunta/rimozione. (it) Decorator パターン(デコレータ・パターン)とは、GoF(Gang of Four; 4人のギャングたち)によって定義されたデザインパターンの1つである。このパターンは、既存のオブジェクトに新しい機能や振る舞いを動的に追加することを可能にする。 (ja) 데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. (ko) Een decorator is een ontwerppatroon voor objectoriëntatie dat dynamisch extra functionaliteit toevoegt aan een object. Dit is flexibeler dan uitbreiding van functionaliteit door middel van subklassen. Decorator behoort tot de structuurpatronen. (nl) Dekorator – wzorzec projektowy należący do grupy wzorców strukturalnych. Pozwala na dodanie nowej funkcji do istniejących klas dynamicznie podczas działania programu. Wzorzec dekoratora polega na opakowaniu oryginalnej klasy w nową klasę „dekorującą”. Zwykle przekazuje się oryginalny obiekt jako parametr konstruktora dekoratora, metody dekoratora wywołują metody oryginalnego obiektu i dodatkowo implementują nową funkcję. Dekoratory są alternatywą dla dziedziczenia. Dziedziczenie rozszerza zachowanie klasy w trakcie kompilacji, w przeciwieństwie do dekoratorów, które rozszerzają klasy w czasie działania programu. Ponieważ w większości obiektowych języków programowania nie można tworzyć nowych klas podczas działania programu i zwykle nie można przewidzieć z góry wszystkich kombinacji rozszerzeń klas, konieczne by było stworzenie nowej klasy dla każdej kombinacji. Dekoratory są obiektami tworzonymi w czasie działania programu i mogą być łączone w różne kombinacje bezpośrednio przy użyciu. (pl) Декоратор (англ. Decorator) — структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту. Шаблон Декоратор предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности. (ru) Inom objekt-orienterad programmering är dekoratör ett designmönster som låter beteenden läggas till i ett individuellt objekt, antingen statiskt eller dynamiskt, utan att beteendet för andra objekt från samma klass påverkas. Dekoratörmönstret är oftast användbart för att hålla fast vid programmeringsprincipen , då det låter funktionalitet delas upp mellan klasser med unika områden av intresse. (sv) Decorator, wrapper (ou em português Decorador), é um padrão de projeto de software que permite adicionar um comportamento a um objeto já existente em tempo de execução, ou seja, agrega dinamicamente responsabilidades adicionais a um objeto. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma funcionalidade, com isso adiciona-se uma responsabilidade ao objeto e não à classe. (pt) 修饰模式,是领域中,一种动态地往一个類別中添加新的行为的设计模式。就功能而言,修饰模式相比生成子類別更为灵活,这样可以给某个对象而不是整个類別添加一些功能。 (zh) Декоратор (фр. décorateur) — структурний шаблон проєктування, призначений для динамічного підключення додаткових можливостей до об'єкта. Шаблон Decorator надає гнучку альтернативу методу визначення підкласів з метою розширення функціональності. (uk)
dbo:thumbnail wiki-commons:Special:FilePath/Decorator_UML_class_diagram.svg?width=300
dbo:wikiPageExternalLink https://wiki.python.org/moin/DecoratorPattern https://web.archive.org/web/20180418005440/http:/designpattern.co.il/Decorator.html
dbo:wikiPageID 164854 (xsd:integer)
dbo:wikiPageLength 36630 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1121797326 (xsd:integer)
dbo:wikiPageWikiLink dbr:Visitor_Pattern dbr:Design_Patterns dbr:.NET_Framework dbr:Run_time_(program_lifecycle_phase) dbr:Object-oriented_programming dbr:Object_(computer_science) dbr:Python_syntax_and_semantics dbr:Open-closed_principle dbr:Single_responsibility_principle dbr:Subclass_(computer_science) dbr:Command_pattern dbr:Compile_time dbr:Composite_pattern dbr:Polymorphism_(computer_science) dbr:State_pattern dbr:Adapter_pattern dbr:Windowing_system dbr:Flyweight_pattern dbr:Forwarding_(object-oriented_programming) dbr:Unified_Modeling_Language dbr:Adapter_Pattern dbc:Articles_with_example_Java_code dbc:Software_design_patterns dbr:Java_Platform,_Standard_Edition dbr:Trait_(computer_programming) dbr:Wrapper_pattern dbr:Mixin dbr:Aspect-oriented_programming dbr:Class_diagram dbr:Scrolling dbr:Scrollbar dbr:Facade_pattern dbr:Immutable_object dbr:Object-oriented_programming_language dbr:Class_(computer_science) dbr:Abstract_class dbr:Abstract_factory dbr:Design_pattern_(computer_science) dbr:C2:DecoratorPattern dbr:File:Decorator_UML_class_diagram.svg dbr:File:UML2_Decorator_Pattern.png dbr:File:W3sDesign_Decorator_Design_Pattern_UML.jpg
dbp:wikiPageUsesTemplate dbt:Clear dbt:Cn dbt:Distinguish dbt:Main dbt:Mono dbt:Reflist dbt:Short_description dbt:Wikibooks dbt:Design_Patterns_Patterns
dcterms:subject dbc:Articles_with_example_Java_code dbc:Software_design_patterns
gold:hypernym dbr:Pattern
rdf:type owl:Thing yago:WikicatSoftwareDesignPatterns yago:Abstraction100002137 yago:Cognition100023271 yago:Form105930736 yago:PsychologicalFeature100023100 dbo:Disease yago:Structure105726345
rdfs:comment نموذج التصميم ديكور يهدف إلى توفير وسيلة لربط الحالات الجديدة والسلوك إلى كائن بطريقة ديناميكية. والكائن لا يعلم انه يجري عليه عملية ديكور "Decoration"، الأمر الذي يجعل هذا النموذج مفيد لتطور النظم. وهناك نقطة رئيسية في تنفيذ هذا النموذج وهو انه يعمل على تزيين ال class الاصلي وحتى المورث منه على حد سواء. (ar) En la programació orientada a objectes, el patró Decorator (alternativament conegut com a Wrapper, un nom amb què també és conegut el patró Adaptador) és un patró de disseny que permet afegir un comportament a un objecte, tant estàticament com dinàmicament, sense que la resta d'objectes de la mateixa classe vegin alterat el seu comportament El patró Decorator és útil sovint per complir el principi de responsabilitat única, car permet dividir una funcionalitat en diverses classes amb una única àrea d'afectació. (ca) Dekorátor je jeden ze strukturálních návrhových vzorů, které řeší otázku struktury programu. Je znám také pod názvem Wrapper. (cs) Der Decorator (auch Dekorierer) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung, das zur Kategorie der Strukturmuster (engl. structural patterns) gehört. Das Muster ist eine flexible Alternative zur Unterklassenbildung, um eine Klasse um zusätzliche Funktionalitäten zu erweitern. Es ist ein Entwurfsmuster der sogenannten GoF-Muster. (de) In object-oriented programming, the decorator pattern is a design pattern that allows behavior to be added to an individual object, dynamically, without affecting the behavior of other objects from the same class. The decorator pattern is often useful for adhering to the Single Responsibility Principle, as it allows functionality to be divided between classes with unique areas of concern as well as to the Open-Closed Principle, by allowing the functionality of a class to be extended without being modified. Decorator use can be more efficient than subclassing, because an object's behavior can be augmented without defining an entirely new object. (en) El patrón Decorator responde a la necesidad de añadir dinámicamente funcionalidad a un Objeto. Esto nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera. (es) En génie logiciel, un décorateur est le nom d'une des structures de patron de conception. Un décorateur permet d'attacher dynamiquement de nouvelles responsabilités à un objet. Les décorateurs offrent une alternative assez souple à l'héritage pour composer de nouvelles fonctionnalités. (fr) Decorator パターン(デコレータ・パターン)とは、GoF(Gang of Four; 4人のギャングたち)によって定義されたデザインパターンの1つである。このパターンは、既存のオブジェクトに新しい機能や振る舞いを動的に追加することを可能にする。 (ja) 데코레이터 패턴(Decorator pattern)이란 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로, 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다. (ko) Een decorator is een ontwerppatroon voor objectoriëntatie dat dynamisch extra functionaliteit toevoegt aan een object. Dit is flexibeler dan uitbreiding van functionaliteit door middel van subklassen. Decorator behoort tot de structuurpatronen. (nl) Декоратор (англ. Decorator) — структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту. Шаблон Декоратор предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности. (ru) Inom objekt-orienterad programmering är dekoratör ett designmönster som låter beteenden läggas till i ett individuellt objekt, antingen statiskt eller dynamiskt, utan att beteendet för andra objekt från samma klass påverkas. Dekoratörmönstret är oftast användbart för att hålla fast vid programmeringsprincipen , då det låter funktionalitet delas upp mellan klasser med unika områden av intresse. (sv) Decorator, wrapper (ou em português Decorador), é um padrão de projeto de software que permite adicionar um comportamento a um objeto já existente em tempo de execução, ou seja, agrega dinamicamente responsabilidades adicionais a um objeto. Decorators oferecem uma alternativa flexível ao uso de herança para estender uma funcionalidade, com isso adiciona-se uma responsabilidade ao objeto e não à classe. (pt) 修饰模式,是领域中,一种动态地往一个類別中添加新的行为的设计模式。就功能而言,修饰模式相比生成子類別更为灵活,这样可以给某个对象而不是整个類別添加一些功能。 (zh) Декоратор (фр. décorateur) — структурний шаблон проєктування, призначений для динамічного підключення додаткових можливостей до об'єкта. Шаблон Decorator надає гнучку альтернативу методу визначення підкласів з метою розширення функціональності. (uk) Nella programmazione ad oggetti, il decorator è uno dei pattern fondamentali, definiti originariamente dalla Gang of Four. Il design pattern decorator consente di aggiungere nuove funzionalità ad oggetti già esistenti. Questo viene realizzato costruendo una nuova classe decoratore che "avvolge" l'oggetto originale. Al costruttore del decoratore si passa come parametro l'oggetto originale. È altresì possibile passarvi un differente decoratore. In questo modo, più decoratori possono essere concatenati l'uno all'altro, aggiungendo così in modo incrementale funzionalità alla classe concreta (che è rappresentata dall'ultimo anello della catena). (it) Dekorator – wzorzec projektowy należący do grupy wzorców strukturalnych. Pozwala na dodanie nowej funkcji do istniejących klas dynamicznie podczas działania programu. Wzorzec dekoratora polega na opakowaniu oryginalnej klasy w nową klasę „dekorującą”. Zwykle przekazuje się oryginalny obiekt jako parametr konstruktora dekoratora, metody dekoratora wywołują metody oryginalnego obiektu i dodatkowo implementują nową funkcję. (pl)
rdfs:label نموذج التصميم ديكور (ar) Decorator (ca) Dekorátor (cs) Decorator (de) Decorator (patrón de diseño) (es) Decorator pattern (en) Decorator (it) Décorateur (patron de conception) (fr) 데코레이터 패턴 (ko) Decorator パターン (ja) Decorator (nl) Dekorator (wzorzec projektowy) (pl) Decorator (pt) Декоратор (шаблон проектирования) (ru) Dekoratör (designmönster) (sv) 修饰模式 (zh) Декоратор (шаблон проєктування) (uk)
owl:sameAs freebase:Decorator pattern yago-res:Decorator pattern wikidata:Decorator pattern dbpedia-ar:Decorator pattern dbpedia-bg:Decorator pattern dbpedia-ca:Decorator pattern dbpedia-cs:Decorator pattern dbpedia-de:Decorator pattern dbpedia-es:Decorator pattern dbpedia-fa:Decorator pattern dbpedia-fr:Decorator pattern dbpedia-gl:Decorator pattern dbpedia-he:Decorator pattern dbpedia-hu:Decorator pattern http://hy.dbpedia.org/resource/Դեկորատոր_(նախագծման_ձևանմուշ) http://ia.dbpedia.org/resource/Decorator_(patrono_de_designo) dbpedia-it:Decorator pattern dbpedia-ja:Decorator pattern dbpedia-ko:Decorator pattern dbpedia-nl:Decorator pattern dbpedia-pl:Decorator pattern dbpedia-pt:Decorator pattern dbpedia-ru:Decorator pattern dbpedia-sr:Decorator pattern dbpedia-sv:Decorator pattern dbpedia-uk:Decorator pattern dbpedia-vi:Decorator pattern dbpedia-zh:Decorator pattern https://global.dbpedia.org/id/2FDRn
prov:wasDerivedFrom wikipedia-en:Decorator_pattern?oldid=1121797326&ns=0
foaf:depiction wiki-commons:Special:FilePath/Decorator_UML_class_diagram.svg wiki-commons:Special:FilePath/UML2_Decorator_Pattern.png wiki-commons:Special:FilePath/W3sDesign_Decorator_Design_Pattern_UML.jpg
foaf:isPrimaryTopicOf wikipedia-en:Decorator_pattern
is dbo:wikiPageDisambiguates of dbr:Decorator
is dbo:wikiPageRedirects of dbr:Decorator_Pattern dbr:Design_Pattern_-_Decorator dbr:Decorator_design_pattern
is dbo:wikiPageWikiLink of dbr:Prototype_pattern dbr:Scala_(programming_language) dbr:Memoization dbr:Design_Patterns dbr:Intercepting_filter_pattern dbr:Object-oriented_programming dbr:Python_syntax_and_semantics dbr:Monad_(functional_programming) dbr:Decoration dbr:Decorator dbr:Decorator_Pattern dbr:Pattern-Oriented_Software_Architecture dbr:Adapter_pattern dbr:Structural_pattern dbr:Dante_Ferretti dbr:Forwarding_(object-oriented_programming) dbr:Proxy_pattern dbr:Resource_management_(computing) dbr:Archetype_pattern dbr:Java_Platform,_Standard_Edition dbr:Wrapper_function dbr:Mixin dbr:Module_pattern dbr:Aspect-oriented_programming dbr:Associative_array dbr:Software_design_pattern dbr:Inheritance_(object-oriented_programming) dbr:Chain-of-responsibility_pattern dbr:XOTcl dbr:Facade_pattern dbr:Design_Pattern_-_Decorator dbr:Decorator_design_pattern
is rdfs:seeAlso of dbr:C_Sharp_syntax
is foaf:primaryTopic of wikipedia-en:Decorator_pattern