Apostila Introdução ao Framework .NET (C# ou VB.NET)

No Comments

3 net logojpg Apostila Introdução ao Framework .NET (C# ou VB.NET)

Povo, ai vai uma apostila para quem quer iniciar com .NET C# ou VB.NET

Link para download: Clique Aqui

Até mais…

10 vantagens do ASP.NET 3.5

2 Comments

Com o lançamento do Visual Studio .NET 2008 e o ASP.NET 3.5, o desenvolvedor tem motivos de sobra para adotar imediatamente esta ferramenta. Quando a Microsoft lançou o VS.NET 2005 houve uma considerável mudança no ASP.NET 2.0, digamos 90% de controles novos com diversas funcionalidades encapsuladas para facilitar a vida do desenvolvedor. Agora com a versão ASP.NET 3.5 existem algumas melhorias e novas implementações, então, veja quais as melhores razões que fará você adotar o ASP.NET 3.5 e o VS.NET 2008.

  1. Gerenciamento de Styles Sheets CSS e HTML Designer – a criação de arquivos de estilos e as configurações dos elementos ficaram muito mais simples e fácil de entender. Já a aplicação de estilos nos controles nunca foi tão fácil, basta abrir a janela de aplicar estilos, selecionar o controle e o estilo a ser aplicado e pronto, com apenas um clique você aplica. Vale dizer que um formulário pode ter vários arquivos de estilos e a aplicação de diferentes estilos nos controles segue o mesmo esquema. Como a janela de aplicar estilo é uma janela como a Solution Explorer ou Propriedades, o desenvolvedor consegue visualmente ver todos os formatos do respectivo elemento antes de aplicar ao controle. Com isto, a produtividade tornou-se um fator chave neste ponto. Caso queira fazer download de templates de CSS disponíveis na internet, acesse www.openwebdesign.org, escolha o template a use na sua aplicação.
  2. Controle ListView e Data Pager – o controle GridView do ASP.NET 2.0 é sem dúvida um dos mais utilizados em todas as aplicações, e agora com o novo controle ListView, com certeza serão os dois mais abordados. O controle ListView permite vincular uma fonte de dados de qualquer tipo (XML, banco de dados, LINQ), contém diversos tipos de formatações prontas, modelos de exibição de dados, diversos tipos de eventos, e o melhor de tudo é que pode-se aplicar paginação. E por falar em paginação, o novo controle Data Pager pode ser entendido como um container de dados o qual ele é o responsável pela paginação. Isto significa dizer que toda a parte de ligação com a fonte de dados e o controle a serem exibidos estes dados, cabe ao Data Pager controlar. Para um melhor entendimento, imagine que o seu banco de dados ou o objeto de acesso a dados retorna uma quantidade de linhas e você gostaria de exibir estes dados em controles do tipo ListView, GridView, FormView, Datalist, etc, então basta vincular o Data Pager ao respectivo controle. Este recurso isola totalmente os controles de ter que ficar controlando a paginação, deixando a responsabilidade apenas para um único controle.
  3. Objeto LINQ – você já deve ter lido muitos artigos sobre o Language Integrated Query (LINQ) que é um modelo de coleções de entidades fortemente tipada. Isto quer dizer que você poderá ter um modelo de dados independente da fonte de dados de forma objeto-relacional. O LINQ pode usar como fonte de dados um banco de dados SQL Server (objeto LinqDataSource), criar classes (Linq to SQL Classes *.dbml), Datasets, arquivos XML (Linq to XML) e na versão final do VS.NET 2008, teremos o Linq to Entity, que permitirá criar um modelo de objetos com qualquer fonte de dados, por exemplo, Oracle. Na prática, o Linq significa que a maneira de você manipular qualquer conjunto de dados mudou radicalmente, nada de ficar usando o famoso SQL Statement (Select, Insert, Delete e Update). Com isto, os desenvolvedores terão que aprender uma nova maneira de lidar com objetos e coleções de dados, mas garanto que será um caminho sem volta, pois quem testou não quer mais saber de strings SQL. Além de tudo, lidar com objetos fortemente tipados e relacionais tratando-os como coleções é tudo o que o desenvolvedor precisa para programar com produtividade.
  4. Master-page aninhadas – este é um conceito fantástico que surgiu no ASP.NET 2.0 e sem nenhuma dúvida é um dos melhores recursos inventados até hoje no desenvolvimento WEB. No entanto, visualmente não era possível herdar uma Master-page de uma Master, apenas consumir a Master em páginas de formulários. Eu cheguei a usar Master encadeadas via programação, mas rezava para não ter que dar manutenção, pois não havia nenhum recurso visual. Agora na versão 3.5 do ASP.NET, temos o recurso visual de herança de Master dentro de outra Master. Isto significa dizer que você conseguirá usar Master-page encadeadas com todos os recursos visuais existentes. Em linhas gerais, na Master principal você define o ContentPlaceHolder que irá expor na Master filha, o qual deverá conter outros ContentPlaceHolder com layouts diferentes que serão expostos para os formulários consumirem. Com isto você poderá ter no projeto uma Master principal e diversas Master filhas herdando da principal, e, cabe aos formulários herdar tanto a Master principal quanto as filhas. Quero dizer que um formulário poderá herdar direto da Master principal, se for preciso.
  5. Split de tela – pense quantas vezes você alternou entre o código HTML e o Design (usando ou não o SHIFT + F7) numa aplicação? Com certeza foram infinitas vezes, principalmente porque o código HTML inserido na página expressa 100% o design criado ou vice-versa. Agora no ASP.NET 3.5 você tem o recurso de split de tela, ou seja, você consegue dividir a tela de forma a exibir o código HTML e o design na mesma tela. O melhor de tudo é que existe um sincronismo entre os mesmos, refletindo qualquer alteração feita. Para os desenvolvedores isto é um dos melhores recursos implementados nesta versão.
    More

Introduzindo TDD para .Net com NUnit

No Comments

Estava pensando em escrever um artigo sobre, no entanto, encontrei este, e percebi que se fosse criar, seria basicamente igual (Porém em C#) , então vou usar algo que já existe por não ter muito tempo livre.

Espero que gostem, é um ótimo artigo!

1) O que é TDD e por quê ele é uma boa idéia? O conceito de TDD vem crescendo muito com a adoção da metodologia “Extreme Programming” (XP), mas pode ser usado em separado, dentro de qualquer outra metodologia de desenvolvimento de software.

A grande vantagem de TDD é produzir código confiável em menos tempo, e com menos bugs. Entre outras coisas, essa técnica permite que você, após fazer uma determinada mudança (grande ou pequena) no seu sistema, possa testá-lo e ter certeza de que tudo ainda funciona, em questão de segundos. Certamente muito melhor do que ter que testar todo o sistema manualmente, tentando pensar em todo tipo de erro possível, ou ter que seguir uma checklist, não?

O processo de TDD é simples:

  1. Antes de começar a codificar uma determinada função, pense em testes que você poderia fazer pra ter certeza que ela funciona;
  2. Declare a sua função, mas apenas o “envelope”, não entre nenhum código propriamente dito;
  3. Crie os testes pra essa função: eles irão falhar, afinal, sua função ainda não faz nada;
  4. Escreva o código da função, e rode os testes; ajuste o código até que todos testes passem;
  5. Repita o passo 1 para a próxima função.

Como você pode ver, uma vantagem dessa metodologia é que ela é extremamente pragmática, e faz que você programe guiado por intenção, ou seja, primeiro você pensa qual o objetivo que você quer alcançar pra só então começar a escrever o código que alcance esses objetivos. Uma outra consequência interessante é que esse método reduz a possibilidade de que você sobrecarregue o código, ou seja, escreva código desnecessário: se você pensou em todos testes possíveis, e seu código passa em todos eles, é porque você terminou o seu trabalho.

2) Um exemplo prático

Vamos ver como isso funcionaria então, com um exemplo bem simples: suponha que eu precise criar uma função para cálculo de impostos sobre um valor, com as seguintes regras:

a) Caso o valor seja menor que 1.000, está isento de impostos;
b) Para valores entre 1.000 e 10.000 é cobrado 3% de imposto;
c) Para valores acima de 10.000 é cobrado 3% de imposto mais 250 reais de sobretaxa.

More

Continuous Integration

No Comments

Continuous Integration, ótima técnologia para grandes projetos, com ele, você terá a certeza de funcionamento, principalmente quando trabalhando em equipe, pois alteração em um método pode corrigir um bug e gerar outros 3, então no teste deste desenvolvedor, beleza, bug corrigido, mas ao perceber o procedimento do sistema, erros de business que não deveriam ter acontecidos…

Como funciona o Continuous Integration?

Continuous Integration, Você instala um servidor que automaticamente irá baixar a ultima versão de todos os arquivos do Source-Safe e irá compilar todo o projeto, caso aconteça um erro, ele lhe enviará um email com os erros e horários dos erros, ele também envia no email os arquivos que foram modificados, assim facilitando a analise para o concerto, quando passa o processo de compilação, você pode manda-lo fazer uma bateria de testes que você já havia feito no NUnit, assim ele também lhe enviará por email caso este de erro, quando compilado totalmente, envia um email dizendo o sucesso, com a estatística de arquivos que foram modificados e toda a analise do seu teste.

More

.Net – Documentação Xml

2 Comments

A documentação do .Net é uma das grandes facilidades da tecnologia, assim você vê a diferença no próprio intellisense do Visual Studio e ainda tem no final um arquivo .chm ou um site em html explicando cada método do seu código.

Dica
Ao abrir o Visual Studio e adicionar 3 Barras “/” ( ‘ aspas simples no caso de VB.Net ) em cima de um método, classse ou propriedade, ele mesmo irá criar uma documentação básica para o seu código, basta implementa-lo com os códigos que estudaremos a baixo.

Para comentar o seu código, há algumas tags Básicas em XML, que são:

<summary> … </summary>
Para uma breve descrição de uma classe, método ou propriedade.

<remarks> … </remarks>
Para uma descrição mais detalhada.

<para> … </para>
Permite delinear parágrafos dentro da tag <remarks>

<list type=”…”> … </list>
Permite usar marcadores para formatar uma descrição. Os tipos de marcadores podem ser “bullet”, “number” e “table”.
More

Padrões de Projeto – Nomenclatura

2 Comments

Um importante tópico a ser debatido neste post.
Vou apresentar neste artigo algumas boas maneiras e metodologias que ao meu ponto de vista são ótimas não só quando em equipe, mas a facilidade de manutenção e qualidade do código.

Primeiro, vou falar sobre o padrão de nomenclatura que são os seguintes:

Pascal case
A primeira letra de cada palavra é maiuscula e as restantes minusculas: BackColor

Camel case
Primeira palavra minuscula e as próximas são em Pascal case: backColor

Uppercase
Maiuscula são as letras de palavras que foram abrevidas: System.IO, System.Web.UI, IDisposable

Lembrando que o .Net é Case Sensitivity, ou seja, sabe diferenciar maiúsculo de menusculo: calcula(); Calcula();

Naming Guidelines

Abreviações
Não utilizer abreviações como: OpenWin() ao invés de usar OpenWindow(), são apenas poucas letras e isso faz muita diferença quando outro desenvolvedor ou até você mesmo for ler o código para alterações ou correção de bugs.

Namespace
Deve ser sempre em Pascal case, pois também dará final a uma DLL (DiarioFonte.Blog.Core.dll).
NomeEmpresa.NomeTecnologia[.Feature][.Design]
DiarioFonte.Blog.Core
DiarioFonte.Blog.Core.Posts
DiarioFonte.Blog.Data

More

Como Fazer o [ENTER] Funcionar como [TAB] em formulario WEB

2 Comments

Desenvolvi uma função em javascript que verifica a tecla que foi pressionada e, se for [ENTER], passa o foco para o outro campo.Abra um projeto web e arraste para o formulário os componentes abaixo:

tela do site

O código-fonte gerado (Default.aspx) é:

 <%@ Page Language=”VB” AutoEventWireup=”false” CodeFile=”Default.aspx.vb” Inherits=”_Default” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
<html xmlns=”http://www.w3.org/1999/xhtml” >
<head runat=”server”>
    <title>Untitled Page</title>
¼br /> <script type=”text/javascript” language=”javascript”>
        function passaCampo(e, proximoCampo)
        {
            if (e.keyCode == 13)
            {
                e.keyCode=0
                proximoCampo.focus()
            }
        }
    </script>
</head>
<body>
    <form id=”form1″ runat=”server”>
    <div>
        Nome:
        <asp:TextBox ID=”TextBox1″ runat=”server”></asp:TextBox><br />
        <br />
        Idade:
        <asp:TextBox ID=”TextBox2″ runat=”server”></asp:TextBox><br />
        <br />
        <asp:Button ID=”Button1″ runat=”server” Text=”Button” Width=”198px” /><br />
        <br />
¼br /> </div>
    </form>
</body>
</html>

Dê um clique sobre o formulário e a janela de código (Default.aspx.vb) é aberta. Complete o código:

Partial Class _Default
   Inherits System.Web.UI.Page
¼br />    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
         TextBox1.Attributes.Add(”onKeyPress”, “javascript:passaCampo(event,TextBox2);”)
         TextBox2.Attributes.Add(”onKeyPress”, “javascript:passaCampo(event,TextBox1);”)
   End Sub
End Class

 Precione F5 e está pronto.

 este exemplo foi retirado do site: http://www.50minutos.com.br

Até a proxima

Blog WebMastered by All in One Webmaster.