{"id":25110,"date":"2016-09-07T00:00:00","date_gmt":"2024-09-13T08:48:17","guid":{"rendered":"https:\/\/wordpress-583806-4798031.cloudwaysapps.com\/observer-design-pattern-klassikern-i-handelsedrivna-system\/"},"modified":"2024-11-15T16:22:22","modified_gmt":"2024-11-15T15:22:22","slug":"observer-design-pattern-klassikern-i-handelsedrivna-system","status":"publish","type":"post","link":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/","title":{"rendered":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system"},"content":{"rendered":"<div class=\"product\"><div class=\"product\"><p><span style=\"vertical-align: inherit;\"><span style=\"vertical-align: inherit;\"><\/p>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\"><b>Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex <a href=\"http:\/\/informatorutbildning.blogspot.se\/2016\/05\/arkitektur-uml-och-3-varianter-av-ett.html\">Proxy<\/a>) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon.<\/b><o_p><\/o_p><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\">Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i&nbsp;plattformen, \u201dp\u00e5 burk\u201d? EventHandler i Java? Ett bibliotek eller ramverk f\u00f6r GUI? Publish-Subscribe i en event bus (t ex ESB i ett f\u00f6retag eller databuss i en bil)? Observer spred sig av anledningar som m\u00e5nga funderat kring, p\u00e5 olika h\u00e5ll.<o_p><\/o_p><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\"><br \/><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\">I anpassningen av m\u00f6nstret b\u00f6r arkitekten sedan ta h\u00e4nsyn till m\u00f6jliga svagheter i runtime, vad g\u00e4ller s\u00e4kerhet, modifierbarhet\/uppgraderingar, prestandakrav, anv\u00e4ndbarhet mm.<o_p><\/o_p><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\">M\u00f6nstret Observer (bild) kopplar ihop verksamhetsobjektet (eng. subject dvs ungef\u00e4r \u201d\u00e4nmesobjektet\u201d, kallat Bevakad i klassdiagrammet nedan)&nbsp; till andra objekt. De blir observat\u00f6rer och prenumererar p\u00e5 dess tillst\u00e5nds\u00f6verg\u00e5ngar (h\u00e4ndelser), som det sedan skickar automatiskt till dem, d v s \u201dpush\u201d (den som v\u00e4xte upp med att i st\u00e4llet regelbundet polla verksamhetsobjektet kan se Observer som ett enkelt s\u00e4tt att automatisera bort pollningen). Vid f\u00f6rsta anblick liknar strukturen i klassdiagrammet mycket annat. Kompletterar man med ett enkelt sekvensdiagram (nedre delen i bilden) som visar hur kommunikationen g\u00e5r genom (ned\u00e4rvda, fr\u00e5n m\u00f6nstret) associationsl\u00e4nkar s\u00e5 blir det l\u00e4ttare att se vad Observer \u00e4r till f\u00f6r.<o_p><\/o_p><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\">Har vi allts\u00e5 inte n\u00e5gon liknande mekanism klar \u201dp\u00e5 burk\u201d s\u00e5 \u00e4r det dags att \u00e4ven fundera p\u00e5 t\u00e4nkbara anpassningspunkter. En \u00e4r multipliciteten i Klassdiagrammet, som i verkligheten lutar besv\u00e4rande ofta \u00e5t <i>m\u00e5nga till m\u00e5nga, dvs \u201d<b>*<\/b>\u201d<\/i> i b\u00e5da \u00e4ndarna. H\u00e4r uppst\u00e5r en vanlig <i>tradeoff f\u00f6r arkitekten<\/i>: mellanhand (\u201dPrenumerationsf\u00f6rmedlare\u201d, t ex som till\u00e4gg i infrastrukturen) &#8211; eller inte. M a o ett val mellan modifierbarhet\/\u00e5teranv\u00e4ndbarhet och snabb exekvering. 2016 \u00e4r svaret oftast modifierbarhet\/\u00e5teranv\u00e4ndbarhet, med infrastruktur (men det finns undantag \u00e4ven idag, t\u00e4nk budgeth\u00e5rdvara f\u00f6r t ex Internet of Things).<o_p><\/o_p><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\">Skillnaden i ett tecken ( \u201d*\u201d i st\u00e4llet f\u00f6r \u201d1\u201d i klassdiagrammet) medf\u00f6r flera konsekvenser f\u00f6r arkitekten, som t ex mellanhand med exekveringstid och single point of failure (eller kostnad f\u00f6r replikering) men \u00e4ven nya m\u00f6jligheter att validera resp filtrera data i mellanhanden, eller att prioritera vissa observat\u00f6rer. <o_p><\/o_p><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\"><br \/><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\">Mellanhanden g\u00f6r det dessutom praktiskt m\u00f6jligt att minska \u201dbruset\u201d av o\u00f6nskade meddelanden fr\u00e5n verksamhetsobjektet till olika observat\u00f6rer.<o_p><\/o_p><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\"><br \/><\/span><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\">Ett s\u00e4tt att minska \u00e4r att observat\u00f6rerna prenumererar, m h a parametrar till mellanhanden, <i>endast p\u00e5 relevanta h\u00e4ndelser<\/i>, d v s de som respektive observat\u00f6r verkligen beh\u00f6ver k\u00e4nna till.<o_p><\/o_p><\/span><\/div>\n<p><\/p>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\">Ett ytterligare steg \u00e4r att m h a ytterligare parametrar l\u00e5ta mellanhanden vidarebefordra enbart <i>relevanta h\u00e4ndelser med relevanta parameterv\u00e4rden<\/i>, som t ex kursf\u00f6r\u00e4ndring d\u00e4r den nya aktiekursen hamnar \u00f6ver en \u00f6nskad gr\u00e4ns. D v s mellanhanden skulle filtrera bort h\u00e4ndelser som \u00e4r f\u00f6rsumbara f\u00f6r respektive observat\u00f6r.<\/span><o_p><\/o_p><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><span style=\"font-family: inherit;\"><br \/><\/span><\/div>\n<div style=\"clear: both; text-align: center;\"><a href=\"https:\/\/4.bp.blogspot.com\/-udrdilp2Nm8\/V8lEuG-RUXI\/AAAAAAAAAww\/Z22ekhTK8JY9oHmdlk5F-K20Cz7NdFWcACLcB\/s1600\/Observer%2BDP.png\" style=\"margin-left: 1em; margin-right: 1em;\"><img fetchpriority=\"high\" decoding=\"async\" border=\"0\" height=\"443\" src=\"https:\/\/4.bp.blogspot.com\/-udrdilp2Nm8\/V8lEuG-RUXI\/AAAAAAAAAww\/Z22ekhTK8JY9oHmdlk5F-K20Cz7NdFWcACLcB\/s640\/Observer%2BDP.png\" width=\"640\" \/><\/a><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\">Po\u00e4ngen med \u201dpush\u201d framg\u00e5r ocks\u00e5 i en l\u00e4ngre \u00f6vning i agil modellering, kursnr <a href=\"http:\/\/www.informator.se\/utbildningar\/metoder-modeller\/modelldriven-utveckling\/agile-modellering-med-uml\">T2715<\/a> (modernisering och webbanslutning av systemarvet hos ett m\u00e4klarf\u00f6retag). En mer detaljerad genomg\u00e5ng av Observer m fl m\u00f6nster g\u00f6r vi i Avancerad modellering med UML, <a href=\"http:\/\/www.informator.se\/utbildningar\/metoder-modeller\/modelldriven-utveckling\/avancerad-objektorientering-med-uml\">T2716<\/a>. <o_p><\/o_p><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 115%; margin-left: 18.0pt;\"><span lang=\"EN-GB\"><a href=\"http:\/\/se.linkedin.com\/pub\/milan-kratochvil\/26\/b34\/141\"><span lang=\"SV\">Milan Kratochvil<\/span><\/a><\/span><o_p><\/o_p><\/div>\n<div style=\"line-height: 115%; margin-left: 18.0pt;\">konsult, <span lang=\"EN-GB\"><a href=\"http:\/\/www.kiseldalen.com\/\"><span lang=\"SV\">Kiseldalen.com<\/span><\/a><\/span><o_p><\/o_p><\/div>\n<div style=\"line-height: 115%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 115%; margin-left: 18.0pt;\"><a href=\"https:\/\/2.bp.blogspot.com\/-xEZmDpvLLKg\/VynSoPFhehI\/AAAAAAAAAsk\/ZWeefJTwr7oK7bUgasJ-Cw0Xv_Jg07J6QCPcB\/s1600\/Milan-Kratochvil-with-book.png\" style=\"clear: left; float: left; margin-bottom: 1em; margin-right: 1em;\"><img decoding=\"async\" border=\"0\" src=\"https:\/\/2.bp.blogspot.com\/-xEZmDpvLLKg\/VynSoPFhehI\/AAAAAAAAAsk\/ZWeefJTwr7oK7bUgasJ-Cw0Xv_Jg07J6QCPcB\/s1600\/Milan-Kratochvil-with-book.png\" \/><\/a><span lang=\"EN-GB\"><\/span><\/div>\n<div style=\"line-height: 115%; margin-left: 18.0pt;\"><span lang=\"EN-GB\"><br \/><\/span><\/div>\n<p>Huvudf\u00f6rfattare: <a href=\"http:\/\/www.springeronline.com\/sgw\/cda\/frontpage\/0,11855,5-40109-22-44478536-0,00.html\">Growing Modular: Mass Customization of Complex Products, Services and Software<\/a> samt <a href=\"http:\/\/www.cambridge.org\/gb\/knowledge\/isbn\/item1175357\/?site_locale=en_GB\">UML Xtra Light: How to Specify Your SW Requirements<o_p><\/o_p><\/a><\/p>\n<div style=\"line-height: 115%; margin-left: 18.0pt;\"><span lang=\"EN-GB\">UML 2 Professional, <a href=\"http:\/\/www.omg.org\/cgi-bin\/searchcert.cgi\">OCUP<\/a> Advanced Level (certifikatniv\u00e5 3 av 3)<o_p><\/o_p><\/span><\/div>\n<div style=\"line-height: 115%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 150%; margin-left: 18.0pt;\"><\/div>\n<div style=\"line-height: 115%; margin-left: 18.0pt;\">Milan samarbetar med Informator sedan v\u00e5ren 1996 inom modellering, UML, krav, analys, arkitektur och design. H\u00e5ller f.n. kurser i modellering (<a href=\"http:\/\/www.informator.se\/utbildningar\/metoder-modeller\/modelldriven-utveckling\/agile-modellering-med-uml\">T2715<\/a>, <a href=\"http:\/\/www.informator.se\/utbildningar\/metoder-modeller\/modelldriven-utveckling\/avancerad-objektorientering-med-uml\">T2716<\/a>), grundl\u00e4ggande <a href=\"http:\/\/informator.se\/utbildningar\/it-arkitektur\/arkitektur\/architecture-fundamentals\">Arkitektur<\/a>, Modular Product Line Architecture (<a href=\"http:\/\/informator.se\/utbildningar\/it-arkitektur\/arkitektur\/modular-product-line-approach-in-architecture-\">T1430<\/a>), och 2013 h\u00f6ll han ocks\u00e5 Informators fullsatta <a href=\"http:\/\/www.informator.se\/seminarier\/seminarier\">Frukostseminarium<\/a> om anv\u00e4ndningsfall.<o_p><\/o_p><\/div>\n<div style=\"line-height: 150%; margin-left: 18pt; text-align: left;\"><\/div>\n<p><\/span><\/span><\/p>\n<h4><span style=\"vertical-align: inherit;\"><span style=\"vertical-align: inherit;\">\u00a0<\/span><\/span><\/h4>\n<p><span style=\"vertical-align: inherit;\"><span style=\"vertical-align: inherit;\"><\/span><\/span><\/p>\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex Proxy) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon. Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i&nbsp;plattformen, \u201dp\u00e5 burk\u201d? EventHandler i [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[570,922,572],"tags":[],"class_list":["post-25110","post","type-post","status-publish","format-standard","hentry","category-blogg","category-blogi","category-it-arkitektur"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex Proxy) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon.Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i plattformen, \u201dp\u00e5 burk\u201d? EventHandler i Java?\" \/>\n\t<meta name=\"robots\" content=\"noindex, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n\t<meta name=\"author\" content=\"Ola\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Informator\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system - Informator\" \/>\n\t\t<meta property=\"og:description\" content=\"Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex Proxy) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon.Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i plattformen, \u201dp\u00e5 burk\u201d? EventHandler i Java?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/informator.se\/wp-content\/uploads\/2026\/08\/Informator_Logo_OG.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/informator.se\/wp-content\/uploads\/2026\/08\/Informator_Logo_OG.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1717\" \/>\n\t\t<meta property=\"og:image:height\" content=\"916\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-09-13T08:48:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-11-15T15:22:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/people\/Informator-Utbildning\/61569394055772\/\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system - Informator\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex Proxy) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon.Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i plattformen, \u201dp\u00e5 burk\u201d? EventHandler i Java?\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/informator.se\/wp-content\/uploads\/2024\/08\/informator_logo_white_footer-1.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#blogposting\",\"name\":\"Observer Design Pattern \\u2013 klassikern i h\\u00e4ndelsedrivna system - Informator\",\"headline\":\"Observer Design Pattern \\u2013 klassikern i h\\u00e4ndelsedrivna system\",\"author\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/author\\\/ola\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/4.bp.blogspot.com\\\/-udrdilp2Nm8\\\/V8lEuG-RUXI\\\/AAAAAAAAAww\\\/Z22ekhTK8JY9oHmdlk5F-K20Cz7NdFWcACLcB\\\/s640\\\/Observer%2BDP.png\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#articleImage\"},\"datePublished\":\"2016-09-07T00:00:00+02:00\",\"dateModified\":\"2024-11-15T16:22:22+01:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#webpage\"},\"articleSection\":\"Blogg, blogi, IT arkitektur\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/informator.se\\\/en\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/informator.se\\\/category\\\/blogg\\\/#listItem\",\"name\":\"Blogg\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/informator.se\\\/category\\\/blogg\\\/#listItem\",\"position\":2,\"name\":\"Blogg\",\"item\":\"https:\\\/\\\/informator.se\\\/category\\\/blogg\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#listItem\",\"name\":\"Observer Design Pattern \\u2013 klassikern i h\\u00e4ndelsedrivna system\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#listItem\",\"position\":3,\"name\":\"Observer Design Pattern \\u2013 klassikern i h\\u00e4ndelsedrivna system\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/informator.se\\\/category\\\/blogg\\\/#listItem\",\"name\":\"Blogg\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/#organization\",\"name\":\"Informator Utbildning Svenska AB\",\"description\":\"Informator \\u00e4r ett svenskt utbildningsbolag som erbjuder utbildningar inom IT, Tech och ledarskap f\\u00f6r f\\u00f6retag och organisationer.\",\"url\":\"https:\\\/\\\/informator.se\\\/en\\\/\",\"telephone\":\"+46858711610\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/informator.se\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/Informator_logo_cmyk-png-FOR-WEBB.png\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#organizationLogo\",\"width\":355,\"height\":218},\"image\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/people\\\/Informator-Utbildning\\\/61569394055772\\\/\",\"https:\\\/\\\/www.instagram.com\\\/informator_utbildning\\\/\",\"https:\\\/\\\/se.linkedin.com\\\/school\\\/informatorutbildning\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/author\\\/ola\\\/#author\",\"url\":\"https:\\\/\\\/informator.se\\\/en\\\/author\\\/ola\\\/\",\"name\":\"Ola\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8dc8b4e0b2ce4c9877b24492eb6bd485776c74f000707741481e2adcb5f7b25f?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Ola\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#webpage\",\"url\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/\",\"name\":\"Observer Design Pattern \\u2013 klassikern i h\\u00e4ndelsedrivna system - Informator\",\"description\":\"Observer, precis som andra designm\\u00f6nster, lyfter abstraktionsniv\\u00e5n ut\\u00f6ver syntax eller notation. I likhet med n\\u00e5gra f\\u00e5 (som t ex Proxy) ligger den n\\u00e4ra arkitektur. F\\u00f6r egna anpassningar, eller f\\u00f6r att skippa dem, beh\\u00f6vs en del arkitektglas\\u00f6gon.Vi b\\u00f6rjar med standardfr\\u00e5gan: hur pass mycket av det den utr\\u00e4ttar \\u00e4r redan l\\u00f6st i plattformen, \\u201dp\\u00e5 burk\\u201d? EventHandler i Java?\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/observer-design-pattern-klassikern-i-handelsedrivna-system\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/author\\\/ola\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/author\\\/ola\\\/#author\"},\"datePublished\":\"2016-09-07T00:00:00+02:00\",\"dateModified\":\"2024-11-15T16:22:22+01:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/informator.se\\\/en\\\/\",\"name\":\"Informator\",\"description\":\"Sveriges ledande utbildningar inom IT, tech och ledarskap\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/informator.se\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system - Informator","description":"Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex Proxy) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon.Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i plattformen, \u201dp\u00e5 burk\u201d? EventHandler i Java?","canonical_url":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/","robots":"noindex, max-snippet:-1, max-image-preview:large, max-video-preview:-1","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#blogposting","name":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system - Informator","headline":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system","author":{"@id":"https:\/\/informator.se\/en\/author\/ola\/#author"},"publisher":{"@id":"https:\/\/informator.se\/en\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/4.bp.blogspot.com\/-udrdilp2Nm8\/V8lEuG-RUXI\/AAAAAAAAAww\/Z22ekhTK8JY9oHmdlk5F-K20Cz7NdFWcACLcB\/s640\/Observer%2BDP.png","@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#articleImage"},"datePublished":"2016-09-07T00:00:00+02:00","dateModified":"2024-11-15T16:22:22+01:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#webpage"},"isPartOf":{"@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#webpage"},"articleSection":"Blogg, blogi, IT arkitektur"},{"@type":"BreadcrumbList","@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/informator.se\/en\/#listItem","position":1,"name":"Home","item":"https:\/\/informator.se\/en\/","nextItem":{"@type":"ListItem","@id":"https:\/\/informator.se\/category\/blogg\/#listItem","name":"Blogg"}},{"@type":"ListItem","@id":"https:\/\/informator.se\/category\/blogg\/#listItem","position":2,"name":"Blogg","item":"https:\/\/informator.se\/category\/blogg\/","nextItem":{"@type":"ListItem","@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#listItem","name":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system"},"previousItem":{"@type":"ListItem","@id":"https:\/\/informator.se\/en\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#listItem","position":3,"name":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system","previousItem":{"@type":"ListItem","@id":"https:\/\/informator.se\/category\/blogg\/#listItem","name":"Blogg"}}]},{"@type":"Organization","@id":"https:\/\/informator.se\/en\/#organization","name":"Informator Utbildning Svenska AB","description":"Informator \u00e4r ett svenskt utbildningsbolag som erbjuder utbildningar inom IT, Tech och ledarskap f\u00f6r f\u00f6retag och organisationer.","url":"https:\/\/informator.se\/en\/","telephone":"+46858711610","logo":{"@type":"ImageObject","url":"https:\/\/informator.se\/wp-content\/uploads\/2026\/01\/Informator_logo_cmyk-png-FOR-WEBB.png","@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#organizationLogo","width":355,"height":218},"image":{"@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/people\/Informator-Utbildning\/61569394055772\/","https:\/\/www.instagram.com\/informator_utbildning\/","https:\/\/se.linkedin.com\/school\/informatorutbildning\/"]},{"@type":"Person","@id":"https:\/\/informator.se\/en\/author\/ola\/#author","url":"https:\/\/informator.se\/en\/author\/ola\/","name":"Ola","image":{"@type":"ImageObject","@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/8dc8b4e0b2ce4c9877b24492eb6bd485776c74f000707741481e2adcb5f7b25f?s=96&d=mm&r=g","width":96,"height":96,"caption":"Ola"}},{"@type":"WebPage","@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#webpage","url":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/","name":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system - Informator","description":"Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex Proxy) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon.Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i plattformen, \u201dp\u00e5 burk\u201d? EventHandler i Java?","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/informator.se\/en\/#website"},"breadcrumb":{"@id":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/#breadcrumblist"},"author":{"@id":"https:\/\/informator.se\/en\/author\/ola\/#author"},"creator":{"@id":"https:\/\/informator.se\/en\/author\/ola\/#author"},"datePublished":"2016-09-07T00:00:00+02:00","dateModified":"2024-11-15T16:22:22+01:00"},{"@type":"WebSite","@id":"https:\/\/informator.se\/en\/#website","url":"https:\/\/informator.se\/en\/","name":"Informator","description":"Sveriges ledande utbildningar inom IT, tech och ledarskap","inLanguage":"en-US","publisher":{"@id":"https:\/\/informator.se\/en\/#organization"}}]},"og:locale":"en_US","og:site_name":"Informator","og:type":"article","og:title":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system - Informator","og:description":"Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex Proxy) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon.Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i plattformen, \u201dp\u00e5 burk\u201d? EventHandler i Java?","og:url":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/","og:image":"https:\/\/informator.se\/wp-content\/uploads\/2026\/08\/Informator_Logo_OG.png","og:image:secure_url":"https:\/\/informator.se\/wp-content\/uploads\/2026\/08\/Informator_Logo_OG.png","og:image:width":1717,"og:image:height":916,"article:published_time":"2024-09-13T08:48:17+00:00","article:modified_time":"2024-11-15T15:22:22+00:00","article:publisher":"https:\/\/www.facebook.com\/people\/Informator-Utbildning\/61569394055772\/","twitter:card":"summary_large_image","twitter:title":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system - Informator","twitter:description":"Observer, precis som andra designm\u00f6nster, lyfter abstraktionsniv\u00e5n ut\u00f6ver syntax eller notation. I likhet med n\u00e5gra f\u00e5 (som t ex Proxy) ligger den n\u00e4ra arkitektur. F\u00f6r egna anpassningar, eller f\u00f6r att skippa dem, beh\u00f6vs en del arkitektglas\u00f6gon.Vi b\u00f6rjar med standardfr\u00e5gan: hur pass mycket av det den utr\u00e4ttar \u00e4r redan l\u00f6st i plattformen, \u201dp\u00e5 burk\u201d? EventHandler i Java?","twitter:image":"https:\/\/informator.se\/wp-content\/uploads\/2024\/08\/informator_logo_white_footer-1.png"},"aioseo_meta_data":{"post_id":"25110","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2024-10-15 15:24:11","updated":"2025-06-14 00:14:34","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/informator.se\/en\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/informator.se\/category\/blogg\/\" title=\"Blogg\">Blogg<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tObserver Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/informator.se\/en\/"},{"label":"Blogg","link":"https:\/\/informator.se\/category\/blogg\/"},{"label":"Observer Design Pattern \u2013 klassikern i h\u00e4ndelsedrivna system","link":"https:\/\/informator.se\/en\/observer-design-pattern-klassikern-i-handelsedrivna-system\/"}],"_links":{"self":[{"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/posts\/25110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/comments?post=25110"}],"version-history":[{"count":1,"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/posts\/25110\/revisions"}],"predecessor-version":[{"id":25829,"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/posts\/25110\/revisions\/25829"}],"wp:attachment":[{"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/media?parent=25110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/categories?post=25110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/informator.se\/en\/wp-json\/wp\/v2\/tags?post=25110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}