<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3625523456292690433</id><updated>2012-02-16T13:28:47.322-02:00</updated><category term='C#'/><category term='Python'/><category term='n-tier'/><category term='AJAX Controls'/><category term='Reflection'/><category term='TDD'/><category term='Chiclete com Banana'/><category term='.NET'/><category term='Axé'/><category term='ASP.NET'/><category term='HTTP'/><category term='Carnabeirão'/><title type='text'>Chez Jaruche</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3625523456292690433.post-7189816478012242913</id><published>2008-04-16T08:39:00.004-03:00</published><updated>2008-04-16T09:04:26.930-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>Python é muito porco!</title><content type='html'>Depois de receber um e-mail do chefe dizendo "ainda vão ouvir falar muito de Python" &lt;a href="http://www.sthurlow.com/python/"&gt;resolvi ler um tutorial&lt;/a&gt; para não ficar com cara de tacho nas conversas do café.&lt;br /&gt;&lt;br /&gt;Já no &lt;a href="http://www.sthurlow.com/python/lesson04/"&gt;capítulo 4&lt;/a&gt; me deparo com a seguinte bizarrice: o escopo é definido a partir da identação do código! Até pode parecer uma idéia interessante mas se com marcações explicitas, como chaves ou as palavras chave "begin" e "end", já cometemos erros imagine sem!&lt;br /&gt;&lt;br /&gt;Sem falar que usar identação automática em Python nem pensar.&lt;br /&gt;&lt;br /&gt;Se liga no exemplo:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;print "Imprime os números pares até 20"&lt;br /&gt;n = 1&lt;br /&gt;while n &lt;= 20:&lt;br /&gt;    if n % 2 == 0:&lt;br /&gt;        print n&lt;br /&gt;    n = n + 1&lt;br /&gt;print "Saiu do 'while' porque não está identado!"&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3625523456292690433-7189816478012242913?l=chezjaruche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/7189816478012242913/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3625523456292690433&amp;postID=7189816478012242913' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/7189816478012242913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/7189816478012242913'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/2008/04/python-muito-porco.html' title='Python é muito porco!'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3625523456292690433.post-5938189217541848303</id><published>2008-04-07T08:45:00.004-03:00</published><updated>2008-04-07T08:53:54.349-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Axé'/><category scheme='http://www.blogger.com/atom/ns#' term='Carnabeirão'/><category scheme='http://www.blogger.com/atom/ns#' term='Chiclete com Banana'/><title type='text'>O cara é notícia em Ribeirão Preto!</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_Hkt9qJPUN9Q/R_oKv4qeTMI/AAAAAAAAAdc/yiMYhrbqA0o/s1600-h/Carnabeir%C3%A3o2.PNG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5186469738651208898" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_Hkt9qJPUN9Q/R_oKv4qeTMI/AAAAAAAAAdc/yiMYhrbqA0o/s400/Carnabeir%C3%A3o2.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;Saimos na capa deste domingo no jornal local de Ribeirão Preto! No alto está o Cerqueira e carregando ele o Júnior. Ao lado sou eu, sou eu, sou euuuu! &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3625523456292690433-5938189217541848303?l=chezjaruche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/5938189217541848303/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3625523456292690433&amp;postID=5938189217541848303' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/5938189217541848303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/5938189217541848303'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/2008/04/o-cara-notcia-em-ribeiro-preto.html' title='O cara é notícia em Ribeirão Preto!'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Hkt9qJPUN9Q/R_oKv4qeTMI/AAAAAAAAAdc/yiMYhrbqA0o/s72-c/Carnabeir%C3%A3o2.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3625523456292690433.post-3618496333339054135</id><published>2008-04-04T14:25:00.002-03:00</published><updated>2008-04-04T14:32:02.721-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTTP'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Salvar como...</title><content type='html'>Nota rápida: para forçar o browser abrir a janela de "salvar como" em ASP.NET basta usar o header &lt;em&gt;Content-Disposition&lt;/em&gt; passando como valor &lt;em&gt;attachment; filename="nome_do_arquivo"&lt;/em&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;pre&gt;string path = "caminho_do_arquivo.txt";&lt;br /&gt;Response.AddHeader("Content-Disposition", "attachment; filename=\"" + path + "\"");&lt;br /&gt;Response.TransmitFile(MapPath(path));&lt;br /&gt;Response.End();&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3625523456292690433-3618496333339054135?l=chezjaruche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/3618496333339054135/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3625523456292690433&amp;postID=3618496333339054135' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/3618496333339054135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/3618496333339054135'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/2008/04/salvar-como.html' title='Salvar como...'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3625523456292690433.post-7753229478657630212</id><published>2008-04-02T11:29:00.002-03:00</published><updated>2008-04-02T13:14:43.425-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Parâmetros de métodos não admitem valores padrão em C#</title><content type='html'>Dei de cara com esta mensagem hoje ao tentar criar um método com um parâmetro com valor padrão assim como costumava fazer em C++.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Metodo(string p1, bool p2 = false)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Em C++ é possível chamar apenas:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;a.Metodo(p1);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Pois o compilador gera na verdade:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;a.Metodo(p1, false);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Em C# isto não é permitido já que o correto é usar sobrecarga:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class A&lt;br /&gt;{&lt;br /&gt;    public void Metodo(string p1, bool p2)&lt;br /&gt;    {&lt;br /&gt;        // (...)&lt;br /&gt;    }&lt;br /&gt;    public void Metodo(string p1)&lt;br /&gt;    {&lt;br /&gt;        // O valor do segundo parametro pode vir de um arquivo de configuração&lt;br /&gt;        Metodo(p1, false);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;É menos conveniente implementar mais um método, ainda mais em um método com muitos parâmetros. No entanto, desta maneira o valor padrão pode ser carregado de uma arquivo de configuração podendo ser alterado sem a necessidade de recompilar o programa.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85556.aspx"&gt;http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85556.aspx &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3625523456292690433-7753229478657630212?l=chezjaruche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/7753229478657630212/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3625523456292690433&amp;postID=7753229478657630212' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/7753229478657630212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/7753229478657630212'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/2008/04/parmetros-de-mtodos-no-admitem-valores.html' title='Parâmetros de métodos não admitem valores padrão em C#'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3625523456292690433.post-7539236028620312026</id><published>2008-04-01T11:32:00.009-03:00</published><updated>2008-05-16T11:23:29.170-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Reflection'/><title type='text'>Atribuição dinâmica de valor em atributos usando reflection</title><content type='html'>Estamos criando uma classe responsável por carregar os campos de um arquive de lote. Para cada atributo desta classe desejamos atribuir um campo do arquivo. Como é muito trabalhoso criar, uma a uma, as atribuições de um layout de mais de 80 campos uptamos por usar reflection.&lt;br /&gt;&lt;br /&gt;Segue um exemplo simplificado da solução que adotamos:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;class Teste&lt;br /&gt;{&lt;br /&gt;    public int attrib1 = 0;&lt;br /&gt;    public string attrib2 = null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Program&lt;br /&gt;{&lt;br /&gt;    static void Main(string[] args)&lt;br /&gt;    {&lt;br /&gt;        Teste teste = new Teste();&lt;br /&gt;&lt;br /&gt;        FieldInfo fiAttrib1 = teste.GetType().GetField("attrib1");&lt;br /&gt;        fiAttrib1.SetValue(teste, 0);&lt;br /&gt;&lt;br /&gt;        FieldInfo fiAttrib2 = teste.GetType().GetField("attrib2");&lt;br /&gt;        fiAttrib2.SetValue(teste, "abc");&lt;br /&gt;&lt;br /&gt;        Console.WriteLine("Attrib1: {0}\nAttrib2: {1}", teste.attrib1, teste.attrib2);&lt;br /&gt;    }&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Na pratica os campos do arquivo são lidos de um arquivo de configuração. Ainda, como os atributos da classe são privados se faz necessário passar &lt;em&gt;BindingFlags.Instance BindingFlags.NonPublic&lt;/em&gt; como parametro do método &lt;em&gt;GetField&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3625523456292690433-7539236028620312026?l=chezjaruche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/7539236028620312026/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3625523456292690433&amp;postID=7539236028620312026' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/7539236028620312026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/7539236028620312026'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/2008/04/atribuio-de-valor-em-atributos.html' title='Atribuição dinâmica de valor em atributos usando reflection'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3625523456292690433.post-3237227476628011590</id><published>2008-03-24T08:58:00.007-03:00</published><updated>2008-03-31T14:50:51.062-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX Controls'/><title type='text'>Como validar um formulário do lado do cliente usando o JavaScript gerado pelos componentes Validation do ASP.NET</title><content type='html'>Felizmente esta manhã resolvemos um problema que nos atormentava desde quinta-feira. Queriamos lançar um ModalPopup em um WebForm somente se o formulário fosse preenchido corretamente. No entanto o ModalPopupExtender é lançado sempre que o botão identificado por TargetControlID é pressionado, independentemente da validação dos campos do formulário.&lt;br /&gt;&lt;br /&gt;A solução foi criar um outro botão auxiliar em HTML e repassar o evento de clique apenas quando o formulário fosse válido. Para isso usamos a função &lt;em&gt;WebForm_OnSubmit&lt;/em&gt; que retorna o status do form, segue um exemplo:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000066;"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;function Popup_SeFormValido() {&lt;br /&gt;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('', '', true, '', '', false, false));&lt;br /&gt;if (WebForm_OnSubmit()) {&lt;br /&gt;document.getElementById('&amp;lt;%=Button1.ClientID%&amp;gt;').click();&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:TextBox&lt;br /&gt;ID="TextBox1" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;&amp;lt;asp:RequiredFieldValidator ID="RequiredFieldValidator1"&lt;br /&gt;runat="server" ErrorMessage="RequiredFieldValidator"&lt;br /&gt;ControlToValidate="TextBox1"&amp;gt;&amp;lt;/asp:RequiredFieldValidator&amp;gt;&lt;br /&gt;&amp;lt;div style="display: none"&amp;gt;&lt;br /&gt;&amp;lt;asp:Button&lt;br /&gt;ID="Button1" runat="server" Text="Button"&lt;br /&gt;/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&amp;lt;input&lt;br /&gt;id="htmlButton" type="button" value="Button" onclick="Popup_SeFormValido();"&lt;br /&gt;/&amp;gt;&lt;br /&gt;&amp;lt;asp:Panel ID="Panel1" runat="server"&amp;gt;&lt;br /&gt;&amp;lt;strong&amp;gt;PopUp&amp;lt;/strong&amp;gt;&lt;br /&gt;&amp;lt;/asp:Panel&amp;gt;&lt;br /&gt;&amp;lt;ajaxToolkit:ModalPopupExtender&lt;br /&gt;ID="ModalPopupExtender1" runat="server" PopupControlID="Panel1"&lt;br /&gt;TargetControlID="Button1"&amp;gt;&lt;br /&gt;&amp;lt;/ajaxToolkit:ModalPopupExtender&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3625523456292690433-3237227476628011590?l=chezjaruche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/3237227476628011590/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3625523456292690433&amp;postID=3237227476628011590' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/3237227476628011590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/3237227476628011590'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/2008/03/como-validar-um-formulrio-do-lado-do.html' title='Como validar um formulário do lado do cliente usando o JavaScript gerado pelos componentes Validation do ASP.NET'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3625523456292690433.post-6832268003905878559</id><published>2008-03-14T20:01:00.004-03:00</published><updated>2008-03-31T14:31:37.441-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Axé'/><title type='text'>Heroes {Community} Launch bem no dia do Cocobambu!</title><content type='html'>Eu até estava interessado em participar do &lt;a href="http://www.microsoft.com/brasil/aquinascemosherois/eventos/hcl.mspx"&gt;Heroes {Community} Launch&lt;/a&gt; amanhã dia 15 de março, mas bem no dia do &lt;a href="http://www.atrasdotrio.com.br/"&gt;Cocobambu Folia (Asa de Águia)&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.atrasdotrio.com.br/Fotos/Chicleteiro%20Fest/08_03_02/003.jpg"&gt;&lt;/a&gt;Pior foi semana passada em que o show do &lt;a href="http://www.ironmaiden.com/index.php?categoryid=8&amp;amp;p2_articleid=831"&gt;Iron Maiden&lt;/a&gt; calhou bem no &lt;a href="http://www.atrasdotrio.com.br/"&gt;Chicleteiro Fest&lt;/a&gt;! Foi a maior correria. Não pretendo repetir o mesmo erro.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img style="DISPLAY: block; FLOAT: left; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://www.ironmaiden.com/images/news/webversion.jpg" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3625523456292690433-6832268003905878559?l=chezjaruche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/6832268003905878559/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3625523456292690433&amp;postID=6832268003905878559' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/6832268003905878559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/6832268003905878559'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/2008/03/heroes-community-launch-bem-no-dia-do.html' title='Heroes {Community} Launch bem no dia do Cocobambu!'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3625523456292690433.post-7990585226050451900</id><published>2008-03-13T13:32:00.000-03:00</published><updated>2008-03-13T09:34:33.238-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='n-tier'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='TDD'/><title type='text'>Injeção de dependências X isolamento entre camadas</title><content type='html'>Não devemos confundir as camadas das aplicação quando programamos classes com injeção de dependências. Em uma aplicação de três camadas até ontem estávamos cometendo o seguinte equivoco:&lt;br /&gt;&lt;br /&gt;No code-behind de uma página aspx (apresentação) para criar uma instância de uma classe de negócio que executava buscas se fazia necessário uma injeção de uma conexão com o banco. Esquecemos que a classe de apresentação também deve receber a injeção uma objeto de busca!&lt;br /&gt;&lt;br /&gt;Ficou a pergunta: Como injetar dependências em instâncias de paginas aspx?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3625523456292690433-7990585226050451900?l=chezjaruche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chezjaruche.blogspot.com/feeds/7990585226050451900/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3625523456292690433&amp;postID=7990585226050451900' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/7990585226050451900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3625523456292690433/posts/default/7990585226050451900'/><link rel='alternate' type='text/html' href='http://chezjaruche.blogspot.com/2008/03/injeo-de-dependncias-x-isolamento-entre.html' title='Injeção de dependências X isolamento entre camadas'/><author><name>Jaruche</name><uri>http://www.blogger.com/profile/11809483501986411497</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
