<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?action=history&amp;feed=atom&amp;title=Programa%C3%A7%C3%A3o_com_Objectos%2FTeste_de_2013%2F01%2F17</id>
	<title>Programação com Objectos/Teste de 2013/01/17 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?action=history&amp;feed=atom&amp;title=Programa%C3%A7%C3%A3o_com_Objectos%2FTeste_de_2013%2F01%2F17"/>
	<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;action=history"/>
	<updated>2026-05-10T13:43:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=10965&amp;oldid=prev</id>
		<title>Root: Redirected page to ist:Programação com Objectos/Teste de 2013/01/17</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=10965&amp;oldid=prev"/>
		<updated>2018-11-07T17:34:04Z</updated>

		<summary type="html">&lt;p&gt;Redirected page to &lt;a href=&quot;https://web.tecnico.ulisboa.pt/~david.matos/w/pt/index.php/Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&quot; class=&quot;extiw&quot; title=&quot;ist:Programação com Objectos/Teste de 2013/01/17&quot;&gt;ist:Programação com Objectos/Teste de 2013/01/17&lt;/a&gt;&lt;/p&gt;
&lt;a href=&quot;https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;amp;diff=10965&amp;amp;oldid=4996&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4996&amp;oldid=prev</id>
		<title>Root: moved Programação com Objectos - Teste de 2013/01/17 to Programação com Objectos/Teste de 2013/01/17</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4996&amp;oldid=prev"/>
		<updated>2013-11-18T13:24:13Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/~david/w/pt/Programa%C3%A7%C3%A3o_com_Objectos_-_Teste_de_2013/01/17&quot; class=&quot;mw-redirect&quot; title=&quot;Programação com Objectos - Teste de 2013/01/17&quot;&gt;Programação com Objectos - Teste de 2013/01/17&lt;/a&gt; to &lt;a href=&quot;/~david/w/pt/Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&quot; class=&quot;mw-redirect&quot; title=&quot;Programação com Objectos/Teste de 2013/01/17&quot;&gt;Programação com Objectos/Teste de 2013/01/17&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:24, 18 November 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4967&amp;oldid=prev</id>
		<title>Root at 09:46, 18 November 2013</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4967&amp;oldid=prev"/>
		<updated>2013-11-18T09:46:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:46, 18 November 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l69&quot;&gt;Line 69:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 69:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''1.1.3. (1.25 val.)''' Desenhe o diagrama de sequência UML correspondente à execução do programa, incluindo as etapas de criação dos objectos. O diagrama de sequência deve conter os nomes das mensagens trocadas (não é necessário representar os argumentos dessas mensagens nem as de retorno; represente todas as chamadas ao método println).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''1.1.3. (1.25 val.)''' Desenhe o diagrama de sequência UML correspondente à execução do programa, incluindo as etapas de criação dos objectos. O diagrama de sequência deve conter os nomes das mensagens trocadas (não é necessário representar os argumentos dessas mensagens nem as de retorno; represente todas as chamadas ao método println).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;[[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Introdução à Modelação com UML/Animais, gatos, vacas, comida|Animais, gatos, vacas, comida&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Image:po12-umlseq20130117.png&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''1.2. (2.25 val.)''' Considere o seguinte domínio:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''1.2. (2.25 val.)''' Considere o seguinte domínio:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4257&amp;oldid=prev</id>
		<title>Root at 19:46, 20 January 2013</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4257&amp;oldid=prev"/>
		<updated>2013-01-20T19:46:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:46, 20 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l70&quot;&gt;Line 70:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Image:po12-umlseq20130117.png]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4256&amp;oldid=prev</id>
		<title>Root at 22:13, 17 January 2013</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4256&amp;oldid=prev"/>
		<updated>2013-01-17T22:13:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:13, 17 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l96&quot;&gt;Line 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''1.4. (1.25 val.)''' Considere a hierarquia de herança na figura à direita. Cada pessoa disponibiliza o método act(), que encapsula o comportamento da actividade dessa pessoa. Pretende-se que seja possível registar o comportamento da actividade de cada uma das entidades. Deve ser possível ligar e desligar o rastreio de qualquer objecto da hierarquia em tempo de execução. Se o rastreio estiver activo, o sistema regista o início e o fim da actividade da pessoa. Que padrão de desenho usaria? Descreva como garantiria o funcionamento desejado?&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Image:TestePO12-20130117-14.png|100px|right|frame]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''1.4. (1.25 val.)'''&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Image:TestePO12-20130117-14.png|100px|right|frame]] &lt;/ins&gt;Considere a hierarquia de herança na figura à direita. Cada pessoa disponibiliza o método act(), que encapsula o comportamento da actividade dessa pessoa. Pretende-se que seja possível registar o comportamento da actividade de cada uma das entidades. Deve ser possível ligar e desligar o rastreio de qualquer objecto da hierarquia em tempo de execução. Se o rastreio estiver activo, o sistema regista o início e o fim da actividade da pessoa. Que padrão de desenho usaria? Descreva como garantiria o funcionamento desejado?&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4255&amp;oldid=prev</id>
		<title>Root at 22:12, 17 January 2013</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4255&amp;oldid=prev"/>
		<updated>2013-01-17T22:12:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:12, 17 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l96&quot;&gt;Line 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''1.4. (1.25 val.)''' Considere a hierarquia de herança na figura à direita. Cada pessoa disponibiliza o método act(), que encapsula o comportamento da actividade dessa pessoa. Pretende-se que seja possível registar o comportamento da actividade de cada uma das entidades. Deve ser possível ligar e desligar o rastreio de qualquer objecto da hierarquia em tempo de execução. Se o rastreio estiver activo, o sistema regista o início e o fim da actividade da pessoa. Que padrão de desenho usaria? Descreva como garantiria o funcionamento desejado?[[Image:TestePO12-20130117-14.png|right|frame]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''1.4. (1.25 val.)''' Considere a hierarquia de herança na figura à direita. Cada pessoa disponibiliza o método act(), que encapsula o comportamento da actividade dessa pessoa. Pretende-se que seja possível registar o comportamento da actividade de cada uma das entidades. Deve ser possível ligar e desligar o rastreio de qualquer objecto da hierarquia em tempo de execução. Se o rastreio estiver activo, o sistema regista o início e o fim da actividade da pessoa. Que padrão de desenho usaria? Descreva como garantiria o funcionamento desejado?[[Image:TestePO12-20130117-14.png&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|100px&lt;/ins&gt;|right|frame]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4253&amp;oldid=prev</id>
		<title>Root: Created page with &quot;{{TOCright}}   == Parte 1 ==  '''1.1.''' Considere o seguinte programa em Java:  &lt;java5&gt; public abstract class Animal {   private String _name;   protected Animal(String name) { ...&quot;</title>
		<link rel="alternate" type="text/html" href="https://www.hlt.inesc-id.pt/~david/wiki/pt/index.php?title=Programa%C3%A7%C3%A3o_com_Objectos/Teste_de_2013/01/17&amp;diff=4253&amp;oldid=prev"/>
		<updated>2013-01-17T22:11:07Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{TOCright}}   == Parte 1 ==  &amp;#039;&amp;#039;&amp;#039;1.1.&amp;#039;&amp;#039;&amp;#039; Considere o seguinte programa em Java:  &amp;lt;java5&amp;gt; public abstract class Animal {   private String _name;   protected Animal(String name) { ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{TOCright}} &lt;br /&gt;
&lt;br /&gt;
== Parte 1 ==&lt;br /&gt;
&lt;br /&gt;
'''1.1.''' Considere o seguinte programa em Java:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;java5&amp;gt;&lt;br /&gt;
public abstract class Animal {&lt;br /&gt;
  private String _name;&lt;br /&gt;
  protected Animal(String name) { _name = name; }&lt;br /&gt;
  public final void processFood(Food food) {&lt;br /&gt;
    eat(food);&lt;br /&gt;
    digest(food);&lt;br /&gt;
  }&lt;br /&gt;
  public void eat(Food food) { System.out.println(_name + &amp;quot; ate &amp;quot; + food); }&lt;br /&gt;
  public abstract void digest(Food food);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Cow extends Animal {&lt;br /&gt;
  public Cow(String name) { super(name); }&lt;br /&gt;
  public void digest(Food food) {&lt;br /&gt;
    System.out.println(&amp;quot;Using chambers 1 and 2&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Using chambers 3 and 4&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Cat extends Animal {&lt;br /&gt;
  public Cat(String name) { super(name); }&lt;br /&gt;
  public void eat(Food food) {&lt;br /&gt;
    super.eat(food);&lt;br /&gt;
    System.out.println(&amp;quot;Ate some fur!&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public void digest(Food food) {&lt;br /&gt;
    System.out.println(&amp;quot;Using stomach on &amp;quot; + food);&lt;br /&gt;
    System.out.println(&amp;quot;Expelling fur ball&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Food {&lt;br /&gt;
  public String toString() { return &amp;quot;some food&amp;quot;; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class App {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    Animal cow = new Cow(&amp;quot;Daisy&amp;quot;);&lt;br /&gt;
    Animal cat = new Cat(&amp;quot;Puss&amp;quot;);&lt;br /&gt;
    cow.processFood(new Food());&lt;br /&gt;
    cat.processFood(new Food());&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/java5&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1.1.1. (0.75 val.)''' Qual o resultado que se obtém quando se executa o programa? (represente mudanças de linha com \n)&lt;br /&gt;
&lt;br /&gt;
  Daisy ate some food&lt;br /&gt;
  Using chamber 1 and 2&lt;br /&gt;
  Using chamber 3 and 4&lt;br /&gt;
  Puss ate some food&lt;br /&gt;
  Ate some fur!&lt;br /&gt;
  Using stomach on some food&lt;br /&gt;
  Expelling fur ball&lt;br /&gt;
&lt;br /&gt;
'''1.1.2. (0.25 val.)''' Que padrão de desenho é usado no programa?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;br /&gt;
Template Method ('''processFood''' using '''eat''' and '''digest''')&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''1.1.3. (1.25 val.)''' Desenhe o diagrama de sequência UML correspondente à execução do programa, incluindo as etapas de criação dos objectos. O diagrama de sequência deve conter os nomes das mensagens trocadas (não é necessário representar os argumentos dessas mensagens nem as de retorno; represente todas as chamadas ao método println).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1.2. (2.25 val.)''' Considere o seguinte domínio:&lt;br /&gt;
&lt;br /&gt;
Uma empresa de mobiliário produz vários tipos de móvel: peças individuais, tais como mesas, cadeiras, etc.; e conjuntos de peças relacionadas, tais como as que fazem parte da mobília de uma sala de jantar. Cada conjunto pode ser composto por peças individuais e/ou por subconjuntos (e.g., um conjunto de sofás pode fazer parte do mobiliário de uma sala de estar, juntamente com uma mesa). Todos os tipos de peça têm uma referência única no catálogo da empresa (cadeia de caracteres) e um preço, assim como um nome comercial.&lt;br /&gt;
&lt;br /&gt;
Os clientes da empresa são identificados pelo nome (cadeia de caracteres) e possuem um número de telefone. Para cada cliente, a empresa mantém um registo das vendas realizadas.&lt;br /&gt;
&lt;br /&gt;
Os clientes inicialmente não usufruem de descontos. No entanto, à medida que vão fazendo compras, o processo de fidelização vai introduzindo benefícios para clientes frequentes. Assim, para clientes que façam pelo menos cinco compras, o desconto passa para 30%; para clientes que façam pelo menos 100 compras, o desconto passa para 50%; se o cliente fizer mais do que 1000 compras, o desconto passa para 70%. Deve ser possível introduzir novas modalidades de recompensa e novas funcionalidades dependentes do escalão do cliente, sem grande impacto no código já existente.&lt;br /&gt;
&lt;br /&gt;
A empresa permite obter impressões (System.out) das vendas, dos clientes (incluindo o nível de desconto a que tem direito) e do total de vendas. Cada venda é representada pelo nome da peça e pelo preço de venda final.&lt;br /&gt;
&lt;br /&gt;
Implemente em Java todas as classes do domínio apresentado, bem como os seus atributos e métodos (excepto getters e setters). Os atributos identificados devem ser suficientes para suportar a funcionalidade e os métodos devem conter implementações que permitam verificar inequivocamente que a funcionalidade desejada está correcta (especialmente a que diz respeito às relações entre objectos).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;br /&gt;
Além da definição das classes de base do domínio, a ideia é utilizar os padrões Composite (para representar as peças) e State (para os descontos dos clientes).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1.3. (1.25 val.)''' O padrão de desenho Singleton garante que: (i) apenas um objecto de uma classe é criado por clientes, e (ii) a referência para a única instância da classe é sempre acessível a clientes. Descreva as duas principais funcionalidades do Java usadas para garantir este funcionamento. Esboce a estrutura do código deste padrão.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1.4. (1.25 val.)''' Considere a hierarquia de herança na figura à direita. Cada pessoa disponibiliza o método act(), que encapsula o comportamento da actividade dessa pessoa. Pretende-se que seja possível registar o comportamento da actividade de cada uma das entidades. Deve ser possível ligar e desligar o rastreio de qualquer objecto da hierarquia em tempo de execução. Se o rastreio estiver activo, o sistema regista o início e o fim da actividade da pessoa. Que padrão de desenho usaria? Descreva como garantiria o funcionamento desejado?[[Image:TestePO12-20130117-14.png|right|frame]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 8px; border-style: dashed; border-width: 1px; border-color: #2f6fab; background: #f9f9f9; &amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Parte 2 (resposta múltipla) ==&lt;br /&gt;
&lt;br /&gt;
'''2.1.''' Que padrão de desenho pode ser usado quando não é possível ou não é prático usar subclasses para adicionar funcionalidade, sendo usado para adicionar funcionalidade em tempo de execução?&lt;br /&gt;
:#&amp;lt;s&amp;gt;Composite&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Adapter&amp;lt;/s&amp;gt;&lt;br /&gt;
:#Decorator&lt;br /&gt;
:#&amp;lt;s&amp;gt;Proxy&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Abstract Factory&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.2.''' Que par de padrões introduz um nível de indirecção entre a classe do cliente e a classe que este usa?&lt;br /&gt;
:#Adapter e Decorator&lt;br /&gt;
:#&amp;lt;s&amp;gt;Proxy e Template Method&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Template Method e Strategy&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Decorator e Singleton&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Adapter e Composite&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.3.''' Que padrão de desenho tem como objectivo definir uma família de algoritmos e encapsular cada algoritmo como um objecto que pode ser permutado?&lt;br /&gt;
:#Strategy&lt;br /&gt;
:#&amp;lt;s&amp;gt;Abstract Factory&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Visitor&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;State&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Decorator&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.4.''' Que padrão de desenho usaria para dissociar uma abstracção da sua implementação, de modo que os dois possam variar de forma independente?&lt;br /&gt;
:#&amp;lt;s&amp;gt;Adapter&amp;lt;/s&amp;gt;&lt;br /&gt;
:#Bridge&lt;br /&gt;
:#&amp;lt;s&amp;gt;Façade&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Composite&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Decorator&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.5.''' No modelo de mensagens Publicação-Subscrição, os assinantes registam-se num tema e são notificados quando novas mensagens chegam sobre esse tópico. Qual é, dos seguintes, o padrão que melhor descreve este modelo?&lt;br /&gt;
:#&amp;lt;s&amp;gt;Adapter&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Command&amp;lt;/s&amp;gt;&lt;br /&gt;
:#Observer&lt;br /&gt;
:#&amp;lt;s&amp;gt;State&amp;lt;/s&amp;gt;&lt;br /&gt;
:#&amp;lt;s&amp;gt;Decorator&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:PO]]&lt;br /&gt;
[[Category:Ensino]]&lt;/div&gt;</summary>
		<author><name>Root</name></author>
	</entry>
</feed>