MS Enterprise Library
Upcoming SlideShare
Loading in...5
×
 

MS Enterprise Library

on

  • 1,986 views

Apresentação feita na 7º reunião do grupo dotNetArchitects, 21 de Março de 2003

Apresentação feita na 7º reunião do grupo dotNetArchitects, 21 de Março de 2003

Statistics

Views

Total Views
1,986
Views on SlideShare
1,982
Embed Views
4

Actions

Likes
1
Downloads
17
Comments
0

1 Embed 4

http://www.slideshare.net 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

MS Enterprise Library MS Enterprise Library Presentation Transcript

  • Data Access e Validation Block
  • É:   Conjunto de soluções para problemas freqüentes do desenvolvimento de software: técnicas conhecidas, para problemas conhecidos,  Baseada em Padrões e práticas comprovadas  Projeto Open Source hospedado no Codeplex Não é:   Framework,  Parte do .Net framework  Um produto, pois é desenvolvida em parceria com a comunidade, hoje mantida pelo grupo de Patterns & Pratices da MS
  • Junto com parceiro a MS reuniu soluções para  rotinas corriqueiras no desenvolvimento de software, criando Applications Blocks Mais tarde através de sua joint venture  Avanade, com a Accenture, dona do Avanade Connected Architect for .Net , reuniu essas boas práticas em um só pacote chamado MS Enterprise Library View slide
  • • Jan de 2005 1.0 • Jun de 2005 • Incorporados Caching e Cryptography Application blocks 1.1 • Jan de 2006 • Migração para .Net 2.0, retirado ConfigurationApp Block, (System.Config) 2.0 • Abr de 2007 • Software factory, Policy Injection, Validation Block 3.0 • Mai de 2007, correção de bugs 3.1 • Integração com Unity Application Block, suporte ao WMI 2.0 4.0 • Correção de bugs 4.1 View slide
  • Caching Application Block  Cryptography Application Block  Data Access Application Block  Exception Handling Application Block  Logging Application Block  Policy Injection Application Block  Security Application Block  Unity Application Block  Validation Application Block. 
  • Enterprise Library 3.0 Application Blocks Data Logging Caching Access Core Config Instrumen- Exception Helpers Cryptography tation Handling & Design Object Builder Security Policy Injection Validation
  • Acesso a dados é necessário em  praticamente 100% das aplicações  Sempre lembrar de manter as boas práticas  Por que “fazer na mão” se pode ser feito automaticamente?
  •  Conectar no BD  Enviar comando  Receber resposta  Fechar conexão
  • public void carregaDados()  {  SqlConnection cn = new  SqlConnection(cnStr);  SqlCommand cm = new SqlCommand(“proc_xquot;, cn);  cm.CommandType = CommandType.StoredProcedure;  try{  cn.Open();  cm.ExecuteNonQuery();  }  catch (Exception ex){  }  finally{  cn.Close();  }  } 
  •  Utiliza as melhores práticas de acesso a dados  Código multi-banco  Facilidade no gerenciamento do pool de conexões  Diminui drasticamente linhas de código
  • public DataSet getFuncionarios(string strConexao, int  departamento){ SqlDatabase db = new SqlDatabase(strConexao);   return db.ExecuteDataSet(quot;proc_get_funcionariosquot;,  departamento); //Conexao fechada no término do método  ExecuteDataSet }
  • Validação é necessária em todas as  aplicações  .Net provê classes para validação na camada GUI, portanto você tem que re- implementar as regras em outras camadas  Cenários mais comuns de validação são código “macarrônicos”
  •  Validar dados antes de processá-los  Facilidade na manutenção para manter a lógica  Integrando a validação em diferentes camadas: GUI, Domínio  Alterar a validação em produção (!!)
  • Especificar as regras apenas uma vez:  arquivos de configuração, atributos ou programaticamente Validar em qualquer ponto:  programaticamente, integrado com WinForms, ASP.Net, WCF Regras de validação primitivas, validação nos  membros das classes, booleana
  • Regras de validação   Not Null (valor não pode ser nulo)  Contains Characters (não contenha os caracteres: /?<>”:)  Regular Expression (validar endereço de e-mail)  Range (de 10-20 or 1/1/1950 até 12/31/1999)  Relative DateTime (maior de 21 anos)  String Length (maior que 8 caracteres)  Domain (um elemento do grupo {Cartão, Cheque, Dinheiro})  Enum Conversion (string pode ser convertida em enum)  Type Conversion (string pode ser convertida em DateTime)  Property Comparison (MaxDate > MinDate) Todas as validações podem ser negadas   Ex.: O comprimento de uma string não pode ser entre 5 e 10 caracteres
  • Data Access Application Block providers: MySql, SqLite  and SqlEx Exception Handling Application Block: SqlException Wrap  Handler Logging Application Block: LogParser  Policy Injection Application Block: PostSharp4EntLib,  novas regras And, Or e Not; CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler Validation Application Block: CollectionCountValidator,  TypeValidator<T>, ObjectValidator<T>, EnumDefinedValidator, Lightweight type picker, Test command; Default validators, Argument Validation, ExternallyConfigurableObjectValidator
  • EntLib é uma biblioteca com o propósito de  solucionar problemas freqüentes do desenvolvimento de software, usando padrões e práticas comprovadas, encapsulando técnicas conhecidas para a solução de problemas conhecidos, em qualquer estilo arquitetônico, aumentando a produtividade.
  • Microsoft patterns & practices Developer Center:  http://msdn.microsoft.com/en-us/practices/default.aspx  Microsoft Enterprise Library 4.1 – October 2008: http://msdn.microsoft.com/en-us/library/dd203099.aspx  Hands On Labs - Enterprise Library for .NET Framework 2.0 - January 2006: http://www.microsoft.com/downloads/details.aspx?Family Id=C8CA14D0-05EA-4A44-AE78- F5E4DF6208AF&displaylang=en  Enterprise Library Contrib: http://www.codeplex.com/entlibcontrib