{"id":618,"date":"2012-02-17T02:29:13","date_gmt":"2012-02-17T02:29:13","guid":{"rendered":"http:\/\/leonardocotta.com.br\/blog\/?p=618"},"modified":"2012-02-17T02:29:13","modified_gmt":"2012-02-17T02:29:13","slug":"utilzando-o-design-pattern-observer-utilizando-as-interfaces-spl-muito-bom","status":"publish","type":"post","link":"https:\/\/leonardocotta.com.br\/?p=618","title":{"rendered":"Utilzando o Design Pattern OBSERVER utilizando as interfaces SPL. &#8211; Muito Bom!"},"content":{"rendered":"<p>Bom pesquisando sobre, encontrei uma boa explica\u00e7\u00e3o&#8230;<\/p>\n<p><strong>Introdu\u00e7\u00e3o:<\/strong><\/p>\n<p>Quando queremos avisar o termino de um m\u00e9todo normalmente utilizamos return 1 ou return true, false, dentre outros processos que indicam que o processo foi executado ou em que parte do processo o c\u00f3digo esta executando.<\/p>\n<p>Pensando em uma estrutura\u00e7\u00e3o de objetos esta pr\u00e1tica pode ser considerada errada, pois isso \u00e9 uma programa\u00e7\u00e3o procedural dentro de um objeto.<\/p>\n<p>Para enviarmos o fim da execu\u00e7\u00e3o ou at\u00e9 mesmo em que &#8220;p\u00e9&#8221; esta o processo de atualiza\u00e7\u00e3o, inser\u00e7\u00e3o , Utilizaremos o Observer Pattern.<\/p>\n<p><strong>Defini\u00e7\u00e3o:<\/strong><\/p>\n<p>A utiliza\u00e7\u00e3o \u00e9 um objeto que ser\u00e1 observado por um ou mais objetos , que s\u00e3o os observadores, que obviamente s\u00e3o associados como observadores deste objeto, e quando o observador disparar um m\u00e9todo de notifica\u00e7\u00e3o, todos os objetos associados (os observadores) executar\u00e3o cada um sua rotina espec\u00edfica, assim fazendo com que o processo seja organizado e evitando colocar instancias de objetos dentro de outros objetos ou at\u00e9 mesmo um aninhado de instancias para cada objeto que ir\u00e1 executar algo.<\/p>\n<p><!--more--><\/p>\n<p>Para ver este artigo v\u00e1 em:<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/revistaphp.com.br\/artigo.php?id=209\">http:\/\/revistaphp.com.br\/artigo.php?id=209<\/a><\/p>\n<p>Para aqueles que querem saber mais independente mesmo da linguagem, encontrei outro link que pode ser muito interessante&#8230;<\/p>\n<p><a href=\"http:\/\/sourcemaking.com\/design_patterns\/\">http:\/\/sourcemaking.com\/design_patterns\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bom pesquisando sobre, encontrei uma boa explica\u00e7\u00e3o&#8230; Introdu\u00e7\u00e3o: Quando queremos avisar o termino de um m\u00e9todo normalmente utilizamos return 1 ou return true, false, dentre outros processos que indicam que o processo foi executado ou em que parte do processo o c\u00f3digo esta executando. Pensando em uma estrutura\u00e7\u00e3o de objetos esta pr\u00e1tica pode ser considerada &hellip; <a href=\"https:\/\/leonardocotta.com.br\/?p=618\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Utilzando o Design Pattern OBSERVER utilizando as interfaces SPL. &#8211; Muito Bom!<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[17],"tags":[107,149,207],"class_list":["post-618","post","type-post","status-publish","format-standard","hentry","category-noticias","tag-design-pattern","tag-interfaces-spl","tag-php"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts\/618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=618"}],"version-history":[{"count":0,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts\/618\/revisions"}],"wp:attachment":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}