Observer pattern (original) (raw)

About DBpedia

El patró observador (observer, en anglès, i de vegades conegut com a ) és un patró de disseny utilitzat en programació d'ordinadors per a observar l'estat d'un en un . Està relacionat amb el principi d'. Aquest patró es fa servir principalment per a implementar sistemes de tractament d'esdeveniments distribuïts. En alguns llenguatges de programació, els problemes tractats per aquest patró, són tractats a la sintaxi de tractament d'esdeveniments nativa. Aquesta és una funcionalitat molt interessant en termes de desenvolupament d'aplicacions en temps real.

thumbnail

Property Value
dbo:abstract نموذج المراقب (بالإنجليزية: Observer Pattern)‏ هو أحد نماذج التصميم التي يدير فيها كائن يدعى باسم الهدف (بالإنجليزية: Subject)‏ قائمة من الكائنات الأخرى التي تعتمد عليه وتسمى هذه الكائنات بالمراقبين (بالإنجليزية: Observers)‏، حيث يقوم بتنبيه هذه الكائنات عند حدوث تغيير في حالته والذي عادةً ما يحصل لدى استدعاء أحد الطرق الخاصة به. يستخدم هذا النموذج بشكل رئيسي في تحقيق أنظمة التحكم بالأحداث الموزعة. كما يعتبر مكوناً رئيسياً من نموذج التصميم المعماري نمط-عرض-متحكم (MVC). وقد استُخدم هذا النموذج لأول مرة في تصميم بيئة تطوير واجهة المستخدم المبنية على MVC والخاصة بلغة سمول توك. يستخدم نموذج المراقب بشكل واسع في العديد من المكتبات والنظم البرمجية بما في ذلك معظم أدوات تطوير واجهة المستخدم المرئية. قد يسبب استخدام نموذج المراقب حدوث تسريب في الذاكرة وتعرف هذه المشكلة باسم المستمع المختفي (بالإنجليزية: Lapsed Listener)‏، يحدث ذلك بسبب الحاجة إلى تسجيل وإلغاء تسجيل المراقب بشكل صريح، وبما أن الهدف سيبقي مراجعاً قوية إلى قائمة مراقبيه فإنه سيمنع بذلك تدميرهم على سبيل المثال من قبل جامع القمامة. يمكن حل هذه المشكلة عبر جعل الهدف يمتلك مراجعاً ضعيفة إلى مراقبيه. (ar) El patró observador (observer, en anglès, i de vegades conegut com a ) és un patró de disseny utilitzat en programació d'ordinadors per a observar l'estat d'un en un . Està relacionat amb el principi d'. Aquest patró es fa servir principalment per a implementar sistemes de tractament d'esdeveniments distribuïts. En alguns llenguatges de programació, els problemes tractats per aquest patró, són tractats a la sintaxi de tractament d'esdeveniments nativa. Aquesta és una funcionalitat molt interessant en termes de desenvolupament d'aplicacions en temps real. (ca) Observer (pozorovatel, vydavatel) je návrhový vzor. (cs) Das Beobachter-Muster (englisch observer pattern, auch listener pattern) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung. Es gehört zur Kategorie der Verhaltensmuster (engl. behavioral patterns) und dient der Weitergabe von Änderungen an einem Objekt an von diesem Objekt abhängige Strukturen.Das Muster ist eines der sogenannten GoF-Muster (Gang of Four; siehe Viererbande). Neben publish-subscribe (kurz pub/sub) erfährt das Beobachter-Muster mit dem Signal-Slot-Konzept eine weitere Ausprägung. (de) Observador (en inglés: Observer) es un patrón de diseño de software que define una dependencia del tipo uno a muchos entre objetos, de manera que cuando uno de los objetos cambia su estado, notifica este cambio a todos los dependientes.Se trata de un patrón de comportamiento (existen de tres tipos: creación, estructurales y de comportamiento), por lo que está relacionado con algoritmos de funcionamiento y asignación de responsabilidades a clases y objetos. Los patrones de comportamiento describen no solamente estructuras de relación entre objetos o clases sino también esquemas de comunicación entre ellos y se pueden clasificar en función de que trabajen con clases (método plantilla) u objetos (cadena de responsabilidad, comando, iterador, recuerdo, observador, estado, estrategia, visitante). La variación de la encapsulación es la base de muchos patrones de comportamiento, por lo que cuando un aspecto de un programa cambia frecuentemente, estos patrones definen un objeto que encapsula dicho aspecto. Los patrones definen una clase abstracta que describe la encapsulación del objeto. Este patrón también se conoce como el patrón de publicación-inscripción o modelo-patrón. Estos nombres sugieren las ideas básicas del patrón, que son: el objeto de datos, que se le puede llamar Sujeto a partir de ahora, contiene atributos mediante los cuales cualquier objeto observador o vista se puede suscribir a él pasándole una referencia a sí mismo. El Sujeto mantiene así una lista de las referencias a sus observadores. Los observadores a su vez están obligados a implementar unos métodos determinados mediante los cuales el Sujeto es capaz de notificar a sus observadores suscritos los cambios que sufre para que todos ellos tengan la oportunidad de refrescar el contenido representado. De manera que cuando se produce un cambio en el Sujeto, ejecutado, por ejemplo, por alguno de los observadores, el objeto de datos puede recorrer la lista de observadores avisando a cada uno.Este patrón suele utilizarse en los entornos de trabajo de interfaces gráficas orientados a objetos, en los que la forma de capturar los eventos es suscribir listeners a los objetos que pueden disparar eventos. El patrón observador es la clave del patrón de arquitectura Modelo Vista Controlador (MVC).​ De hecho el patrón fue implementado por primera vez en el MVC de Smalltalk basado en un entorno de trabajo de interfaz.​ Este patrón está implementado en numerosos bibliotecas y sistemas, incluyendo todos los toolkits de GUI. Patrones relacionados: , mediador, singleton. (es) Le patron observateur est un patron de conception de la famille des patrons comportementaux.Il s'agit de l'un des vingt-trois patrons de l'ouvrage du « Gang of Four » Design Patterns – Elements of Reusable Object-Oriented Software. Il est utilisé pour envoyer un signal à des modules qui jouent le rôle d'observateurs. En cas de notification, les observateurs effectuent alors l'action adéquate en fonction des informations qui parviennent depuis les modules qu'ils observent (les observables). (fr) In software design and engineering, the observer pattern is a software design pattern in which an object, named the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. It is often used for implementing distributed event handling systems, in "event driven" software. In those systems, the subject is usually named a "stream of events" or "stream source of events", while the observers are called "sinks of events". The stream nomenclature alludes to a physical setup where the observers are physically separated and have no control over the emitted events from the subject/stream-source. This pattern then perfectly suits any process where data arrives from some input that is not available to the CPU at startup, but instead arrives "at random" (HTTP requests, GPIO data, user input from peripherals, distributed databases and blockchains, etc.). Most modern programming languages comprise built-in "event" constructs implementing the observer-pattern components. While not mandatory, most 'observers' implementations would use background threads listening for subject-events and other support mechanisms provided by the kernel (Linux epoll, ...). (en) 옵서버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다. 주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용된다. 발행/구독 모델로 알려져 있기도 하다. (ko) Observer (ook bekend als Subject-Observer, Dependents of Publish-Subscribe) is een ontwerppatroon in de object-georiënteerde softwareontwikkeling. Het patroon beschrijft een efficiënte en redelijk ontkoppelde manier waarop objecten in een programma kennis kunnen nemen van relevante toestandsveranderingen binnen andere objecten in hetzelfde programma. (nl) L'Observer pattern è un design pattern utilizzato come base architetturale di molti sistemi di gestione di eventi. (it) Observer パターン(オブザーバー・パターン)とは、プログラム内のクラスインスタンスで起きたイベント(事象)を、他のクラスインスタンスへ通知する処理で使われる、デザインパターンの一種。 通知するクラスインスタンス側が、通知されるクラスインスタンス側に観測・観察(英: observe)される形になることから、こう呼ばれる。 出版-購読型モデルとも呼ばれる。の原則と関係が深い。 分散イベント処理システムの実装にも使われる。言語によっては、このパターンで扱われる問題は言語が持つイベント処理構文で処理される。 (ja) Obserwator (ang. observer) – wzorzec projektowy należący do grupy wzorców czynnościowych. Używany jest do powiadamiania zainteresowane obiekty o zmianie stanu pewnego innego obiektu. (pl) O Observer é um padrão de projeto de software que define uma dependência um-para-muitos entre objetos de modo que quando um objeto muda o estado, todos seus dependentes são notificados e atualizados automaticamente. Permite que objetos interessados sejam avisados da mudança de estado ou outros eventos ocorrendo num outro objeto. O padrão Observer é também chamado de Publisher-Subscriber, Event Generator e Dependents. (pt) Observatör är ett designmönster där ett objekt håller i en lista över beroenden, som kallas "observatörer", och meddelar dem automatiskt när någonting ändras, vanligtvis genom att anropa en av deras metoder. Den används huvudsakligen för att implementera distribuerade händelsehanterande system. Designmönstret är även en viktig del i model–view–controller. Designmönstret är implementerat i ett flertal programbibliotek och system, inklusive nästan alla GUI-toolkit. Observatör kan orsaka minnesläckage eftersom det kräver både explicit registrering och avregistrering, då objektet håller i starka referenser till observatörerna som håller dem igång. Detta kan förhindras genom att objektet håller i svaga referenser till observatörerna. (sv) Наблюдатель (англ. Observer) — поведенческий шаблон проектирования. Также известен как «подчинённые» (англ. Dependents). Реализует у класса механизм, который позволяет объекту этого класса получать оповещения об изменении состояния других объектов и тем самым наблюдать за ними. Классы, на события которых другие классы подписываются, называются субъектами (Subjects), а подписывающиеся классы называются наблюдателями (англ. Observers). Похожие шаблоны: «издатель-подписчик», «посредник», «одиночка». (ru) 觀察者模式是軟體設計模式的一種。在此種模式中,一個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀態改變時主動發出通知。這通常透過呼叫各觀察者所提供的方法來實現。此種模式通常被用在即時事件處理系統。 (zh) Спостерігач, Observer — поведінковий шаблон проєктування. Також відомий як «підлеглі» (Dependents), «видавець-передплатник» (Publisher-Subscriber). (uk)
dbo:thumbnail wiki-commons:Special:FilePath/W3sDesign_Observer_Design_Pattern_UML.jpg?width=300
dbo:wikiPageExternalLink https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Observable.html https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Observer.html
dbo:wikiPageID 164863 (xsd:integer)
dbo:wikiPageLength 20913 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1121684876 (xsd:integer)
dbo:wikiPageWikiLink dbr:Python_(programming_language) dbr:Epoll dbr:Memory_leak dbr:Design_Patterns dbr:Progress_bar dbr:GPIO dbr:Publish–subscribe_pattern dbr:Object_(computer_science) dbr:Client–server_model dbr:Polling_(computer_science) dbr:Software_engineering dbr:Dispose_pattern dbr:Lapsed_listener_problem dbr:Daemon_(computing) dbc:Articles_with_example_C_Sharp_code dbr:Entity–component–system dbr:Unified_Modeling_Language dbr:Java_(programming_language) dbc:Articles_with_example_Java_code dbc:Articles_with_example_Python_(programming_language)_code dbc:Software_design_patterns dbr:Blockchain dbr:Software_design dbr:User_input dbr:Distributed_database dbr:Booting dbr:Software_design_pattern dbr:Class_diagram dbr:Publish-subscribe dbr:Publish-subscribe_pattern dbr:HTTP_request dbr:Method_(computer_science) dbr:CPU dbr:Mediator_pattern dbr:Sequence_diagram dbr:Singleton_pattern dbr:Implicit_invocation dbr:Programming_language dbr:Weak_reference dbr:Event_(computing) dbr:Painter's_algorithm dbr:Scalability dbr:Peripheral dbr:Event_handling dbr:Tightly_coupled_system dbr:File:Observer_w_update.svg dbr:File:W3sDesign_Observer_Design_Pattern_UML.jpg
dbp:wikiPageUsesTemplate dbt:Code dbt:Reflist dbt:Short_description dbt:Design_Patterns_Patterns dbt:Wikibooks-inline
dct:subject dbc:Articles_with_example_C_Sharp_code dbc:Articles_with_example_Java_code dbc:Articles_with_example_Python_(programming_language)_code dbc:Software_design_patterns
gold:hypernym dbr:Pattern
rdf:type yago:WikicatSoftwareDesignPatterns yago:Abstraction100002137 yago:Cognition100023271 yago:Form105930736 yago:PsychologicalFeature100023100 dbo:Disease yago:Structure105726345
rdfs:comment El patró observador (observer, en anglès, i de vegades conegut com a ) és un patró de disseny utilitzat en programació d'ordinadors per a observar l'estat d'un en un . Està relacionat amb el principi d'. Aquest patró es fa servir principalment per a implementar sistemes de tractament d'esdeveniments distribuïts. En alguns llenguatges de programació, els problemes tractats per aquest patró, són tractats a la sintaxi de tractament d'esdeveniments nativa. Aquesta és una funcionalitat molt interessant en termes de desenvolupament d'aplicacions en temps real. (ca) Observer (pozorovatel, vydavatel) je návrhový vzor. (cs) Das Beobachter-Muster (englisch observer pattern, auch listener pattern) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung. Es gehört zur Kategorie der Verhaltensmuster (engl. behavioral patterns) und dient der Weitergabe von Änderungen an einem Objekt an von diesem Objekt abhängige Strukturen.Das Muster ist eines der sogenannten GoF-Muster (Gang of Four; siehe Viererbande). Neben publish-subscribe (kurz pub/sub) erfährt das Beobachter-Muster mit dem Signal-Slot-Konzept eine weitere Ausprägung. (de) Le patron observateur est un patron de conception de la famille des patrons comportementaux.Il s'agit de l'un des vingt-trois patrons de l'ouvrage du « Gang of Four » Design Patterns – Elements of Reusable Object-Oriented Software. Il est utilisé pour envoyer un signal à des modules qui jouent le rôle d'observateurs. En cas de notification, les observateurs effectuent alors l'action adéquate en fonction des informations qui parviennent depuis les modules qu'ils observent (les observables). (fr) 옵서버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다. 주로 분산 이벤트 핸들링 시스템을 구현하는 데 사용된다. 발행/구독 모델로 알려져 있기도 하다. (ko) Observer (ook bekend als Subject-Observer, Dependents of Publish-Subscribe) is een ontwerppatroon in de object-georiënteerde softwareontwikkeling. Het patroon beschrijft een efficiënte en redelijk ontkoppelde manier waarop objecten in een programma kennis kunnen nemen van relevante toestandsveranderingen binnen andere objecten in hetzelfde programma. (nl) L'Observer pattern è un design pattern utilizzato come base architetturale di molti sistemi di gestione di eventi. (it) Observer パターン(オブザーバー・パターン)とは、プログラム内のクラスインスタンスで起きたイベント(事象)を、他のクラスインスタンスへ通知する処理で使われる、デザインパターンの一種。 通知するクラスインスタンス側が、通知されるクラスインスタンス側に観測・観察(英: observe)される形になることから、こう呼ばれる。 出版-購読型モデルとも呼ばれる。の原則と関係が深い。 分散イベント処理システムの実装にも使われる。言語によっては、このパターンで扱われる問題は言語が持つイベント処理構文で処理される。 (ja) Obserwator (ang. observer) – wzorzec projektowy należący do grupy wzorców czynnościowych. Używany jest do powiadamiania zainteresowane obiekty o zmianie stanu pewnego innego obiektu. (pl) O Observer é um padrão de projeto de software que define uma dependência um-para-muitos entre objetos de modo que quando um objeto muda o estado, todos seus dependentes são notificados e atualizados automaticamente. Permite que objetos interessados sejam avisados da mudança de estado ou outros eventos ocorrendo num outro objeto. O padrão Observer é também chamado de Publisher-Subscriber, Event Generator e Dependents. (pt) Наблюдатель (англ. Observer) — поведенческий шаблон проектирования. Также известен как «подчинённые» (англ. Dependents). Реализует у класса механизм, который позволяет объекту этого класса получать оповещения об изменении состояния других объектов и тем самым наблюдать за ними. Классы, на события которых другие классы подписываются, называются субъектами (Subjects), а подписывающиеся классы называются наблюдателями (англ. Observers). Похожие шаблоны: «издатель-подписчик», «посредник», «одиночка». (ru) 觀察者模式是軟體設計模式的一種。在此種模式中,一個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀態改變時主動發出通知。這通常透過呼叫各觀察者所提供的方法來實現。此種模式通常被用在即時事件處理系統。 (zh) Спостерігач, Observer — поведінковий шаблон проєктування. Також відомий як «підлеглі» (Dependents), «видавець-передплатник» (Publisher-Subscriber). (uk) نموذج المراقب (بالإنجليزية: Observer Pattern)‏ هو أحد نماذج التصميم التي يدير فيها كائن يدعى باسم الهدف (بالإنجليزية: Subject)‏ قائمة من الكائنات الأخرى التي تعتمد عليه وتسمى هذه الكائنات بالمراقبين (بالإنجليزية: Observers)‏، حيث يقوم بتنبيه هذه الكائنات عند حدوث تغيير في حالته والذي عادةً ما يحصل لدى استدعاء أحد الطرق الخاصة به. يستخدم هذا النموذج بشكل رئيسي في تحقيق أنظمة التحكم بالأحداث الموزعة. كما يعتبر مكوناً رئيسياً من نموذج التصميم المعماري نمط-عرض-متحكم (MVC). وقد استُخدم هذا النموذج لأول مرة في تصميم بيئة تطوير واجهة المستخدم المبنية على MVC والخاصة بلغة سمول توك. يستخدم نموذج المراقب بشكل واسع في العديد من المكتبات والنظم البرمجية بما في ذلك معظم أدوات تطوير واجهة المستخدم المرئية. (ar) Observador (en inglés: Observer) es un patrón de diseño de software que define una dependencia del tipo uno a muchos entre objetos, de manera que cuando uno de los objetos cambia su estado, notifica este cambio a todos los dependientes.Se trata de un patrón de comportamiento (existen de tres tipos: creación, estructurales y de comportamiento), por lo que está relacionado con algoritmos de funcionamiento y asignación de responsabilidades a clases y objetos. Patrones relacionados: , mediador, singleton. (es) In software design and engineering, the observer pattern is a software design pattern in which an object, named the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. Most modern programming languages comprise built-in "event" constructs implementing the observer-pattern components. While not mandatory, most 'observers' implementations would use background threads listening for subject-events and other support mechanisms provided by the kernel (Linux epoll, ...). (en) Observatör är ett designmönster där ett objekt håller i en lista över beroenden, som kallas "observatörer", och meddelar dem automatiskt när någonting ändras, vanligtvis genom att anropa en av deras metoder. Den används huvudsakligen för att implementera distribuerade händelsehanterande system. Designmönstret är även en viktig del i model–view–controller. Designmönstret är implementerat i ett flertal programbibliotek och system, inklusive nästan alla GUI-toolkit. (sv)
rdfs:label المراقب (نموذج تصميم) (ar) Patró observador (ca) Observer (návrhový vzor) (cs) Beobachter (Entwurfsmuster) (de) Observer (patrón de diseño) (es) Observer pattern (it) Observateur (patron de conception) (fr) 옵서버 패턴 (ko) Observer パターン (ja) Observer pattern (en) Obserwator (wzorzec projektowy) (pl) Observer (ontwerppatroon) (nl) Observer (pt) Наблюдатель (шаблон проектирования) (ru) Observatör (designmönster) (sv) 观察者模式 (zh) Спостерігач (шаблон проєктування) (uk)
owl:sameAs freebase:Observer pattern yago-res:Observer pattern wikidata:Observer pattern dbpedia-ar:Observer pattern dbpedia-bg:Observer pattern dbpedia-ca:Observer pattern dbpedia-cs:Observer pattern dbpedia-de:Observer pattern dbpedia-es:Observer pattern dbpedia-fa:Observer pattern dbpedia-fr:Observer pattern dbpedia-gl:Observer pattern dbpedia-he:Observer pattern dbpedia-hu:Observer pattern dbpedia-it:Observer pattern dbpedia-ja:Observer pattern dbpedia-ko:Observer pattern dbpedia-nl:Observer pattern dbpedia-pl:Observer pattern dbpedia-pt:Observer pattern dbpedia-ru:Observer pattern dbpedia-sv:Observer pattern dbpedia-th:Observer pattern dbpedia-uk:Observer pattern dbpedia-zh:Observer pattern https://global.dbpedia.org/id/4yNjj
prov:wasDerivedFrom wikipedia-en:Observer_pattern?oldid=1121684876&ns=0
foaf:depiction wiki-commons:Special:FilePath/Observer_w_update.svg wiki-commons:Special:FilePath/W3sDesign_Observer_Design_Pattern_UML.jpg
foaf:isPrimaryTopicOf wikipedia-en:Observer_pattern
is dbo:wikiPageDisambiguates of dbr:Observer
is dbo:wikiPageRedirects of dbr:Observer_Pattern dbr:Observer_design_pattern dbr:Event_listeners
is dbo:wikiPageWikiLink of dbr:Behavioral_pattern dbr:PureMVC dbr:Qt_(software) dbr:Entity_component_system dbr:Binding_properties_pattern dbr:Vala_(programming_language) dbr:Design_Patterns dbr:Dynamic_Data_Exchange dbr:Inversion_of_control dbr:Publish–subscribe_pattern dbr:Comparison_of_C_Sharp_and_Java dbr:Cross-cutting_concern dbr:ODP dbr:Object-oriented_programming dbr:Observer dbr:Circular_dependency dbr:Fuchsia_(operating_system) dbr:Monad_(functional_programming) dbr:Observer_Pattern dbr:Libsigc++ dbr:Mama_(software) dbr:Callback_(computer_programming) dbr:Signal_programming dbr:Client–server_model dbr:Frontend_and_backend dbr:Pattern-Oriented_Software_Architecture dbr:Whiteboard_Pattern dbr:Lapsed_listener_problem dbr:ASP.NET_MVC dbr:Actor_model dbr:Node.js dbr:Graphical_Editing_Framework dbr:Iterator_pattern dbr:Model–view–controller dbr:Resource_management_(computing) dbr:Internet_of_things dbr:COMEFROM dbr:Software_design_pattern dbr:Objective-C dbr:React_(JavaScript_library) dbr:ReactiveX dbr:Reactive_programming dbr:Change_data_capture dbr:UI_data_binding dbr:Loop-switch_sequence dbr:Mediator_pattern dbr:Signals_and_slots dbr:Immutable_object dbr:Implicit_invocation dbr:Weak_reference dbr:Event-driven_messaging dbr:Event_(computing) dbr:State_management dbr:User_interface_management_system dbr:Observer_design_pattern dbr:Event_listeners
is foaf:primaryTopic of wikipedia-en:Observer_pattern