| Últimas 20 atualizações de GUINTHER PAULI |
|
|

Tempo: 17:03 min
Mini Resumo: Nesta vídeo aula será mostrado como criar um Tipo Definido pelo Usuário (User Type) em C#. Podemos entender por User Type um tipo complexo de dados, personalizado, de acordo com as necessidades do projeto de banco de dados. Por exemplo, o SQL Server já vem com alguns tipos “built-in” (nativos) como int, varchar, numeric, money etc. No exemplo, veremos como criar nosso próprio tipo, no caso uma estrutura que permite guardar informações completas de Endereço como Cidade, UF etc. Em toda tabela que for necessário armazenar essa estrutura, basta então referenciar este tipo ao invés de criar n colunas repetidamente em cada tabela.
Tecnologias utilizadas: Visual Studio 2010, SQL Server 2008, C#
Exemplos construídos: Projeto de Banco de Dados CLR Database no Visual Studio
Palavras chaves: Visual Studio, SQL Server, CLR, Banco de Dados, Programação, User Types
-->">
|
|
|
|

Tempo: 13:08 min
Mini Resumo: Nesta video aula será mostrada a aplicação das refatorações Inline Variable, Parameter e Field (Variável, Parâmetro e Campo InLine - em linha). Essas refatorações servem para avaliar expressões estaticamente no código que podem ser declaradas de forma mais simples, muitas vezes sem a necessidade de definição de variáveis locais, atributos ou métodos a parte (daí o nome da refatoração ser inline). A refatoração garante que o comportamento será preservado após a modificação das estruturas.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Aplicação Web que exibe dados de coleções e aplicação de console com operações numéricas
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Inline Variable, Parameter, Field
-->">
|
|
|
|

Tempo: 17:02 min
Mini Resumo: Nesta video aula será mostrada a aplicação das refatorações Introduce Variable, Parameter e Field (Extrair Variável, Parâmetro e Campo). No exemplo um classe é criada de forma a parametrizar o comportamento de exibição de caixas de diálogo. O uso das refatorações mostram como tornar esse código mais legível ao mesmo tempo que preserva as suas características dinâmicas, usando tipos nomeados, classes extraídas a partir de parâmetros e outras expressões.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Classe para criação de caixas de diálogo personalizadas
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Introduce Variable, Parameter, Field
-->">
|
|
|
|

Tempo: 22:23 min
Mini Resumo: Nesta vídeo aula será mostrado como criar uma Função Definida pelo Usuário (UDF - User Defined Function) usando C#, a ser hospedada dentro do SQL Server através da integração com a CLR. Funções são semelhantes a Stored Procedures, criadas também de forma semelhante, a diferença é que elas retornam um valor. A função criada nesta aula é do tipo scalar, recebe um único parâmetro e devolve um resultado invariável, nesse caso chamamos a função de determinística. Não-determinística é quando o resultado muda mesmo que o parâmetro seja passado sempre com o mesmo valor, dificultando o trabalho do otimizador de consultas. O exemplo apresenta como criar funções que validam email diretamente no servidor usando T-SQL, que consome a função C#, que através de classes do .NET Framework e Expressões Regulares fazem a validação das strings de forma simples.
Tecnologias utilizadas: Visual Studio 2010, SQL Server 2008, C#
Exemplos construídos: Projeto de Banco de Dados CLR Database no Visual Studio
Palavras chaves: Visual Studio, SQL Server, CLR, Banco de Dados, Programação, Scalar, UDF, User Defined Function
-->">
|
|
|
|

Tempo: 15:25 min
Mini Resumo: Nesta vídeo aula será mostrado como criar uma uma Função Definida pelo Usuário (UDF - User Defined Function) usando C#, a ser hospedada dentro do SQL Server através da integração com a CLR. A função é do tipo Table Valued, ou seja, ela devolve dados que podem ser representados como se fossem uma tabela física do banco de dados. A estrutura é definida a partir de classes em C# usando coleções geradas dinamicamente em memória. Uma classe em C# é definida a fim de representar os dados a serem usados para compor a estrutura da tabela.
Tecnologias utilizadas: Visual Studio 2010, SQL Server 2008, C#
Exemplos construídos: Projeto de Banco de Dados CLR Database no Visual Studio
Palavras chaves: Visual Studio, SQL Server, CLR, Banco de Dados, Programação, Table Valued, UDF, User Defined Function
-->">
|
|
|
|

Tempo: 16:15 min
Mini Resumo: Nesta vídeo será mostrado como criar uma Função Definida pelo Usuário (UDF - User Defined Function) usando C#, a ser hospedada dentro do SQL Server através da integração com a CLR. A aula mostra como implementar interfaces específicas do C# para que os dados da tabela virtual possam ser iterados e consumidos a partir de consultas SELECT em SQL simples. A interface IEnumerator é usada para implementar uma classe que permite a iteração entre os registros da coleção gerada.
Tecnologias utilizadas: Visual Studio 2010, SQL Server 2008, C#
Exemplos construídos: Projeto de Banco de Dados CLR Database no Visual Studio
Palavras chaves: Visual Studio, SQL Server, CLR, Banco de Dados, Programação, Table Valued, UDF, User Defined Function, IEnumerator
-->">
|
|
|
|

Tempo: 15:04 min
Mini Resumo: Nesta vídeo aula será mostrado como criar uma Função Agregada (Aggregate) usando C#, a ser hospedada dentro do SQL Server através da integração com a CLR. Funções agregadas são similares a funções scalares vistas anteriormente, a diferença é que elas são processadas de forma diferente. Uma função simples é chamada e retorna um valor. Um função agregada é chamada repetidas vezes em uma iteração e precisa guardar o seu estado (valor) até o final do processamento. Alguns exemplos bem conhecidos são as funções SUM, COUNT, AVG do SQL. Essa aula mostra como podemos criar nossas próprias funções agregadas, usando C# e POO.
Tecnologias utilizadas: Visual Studio 2010, SQL Server 2008, C#
Exemplos construídos: Projeto de Banco de Dados CLR Database no Visual Studio
Palavras chaves: Visual Studio, SQL Server, CLR, Banco de Dados, Programação, Aggregate, Funções Agregadas
-->">
|
|
|
|

Tempo: 18:46 min
Mini Resumo: Nesta vídeo aula será mostrada a aplicação das refatorações Extract Superclass e Extract Interface (Extrair Superclasse e Extrair Interface). As refatorações vistas nesta aula permitem que uma determinada estrutura de classe tenha membros como atributos e métodos comuns a outras classes movidos para uma estrutura superior na hierarquia, uma mesma classe base, compartilhando assim dados com classes descentes (derivadas). A interface pode também ser extraída e utilizada para reduzir o acoplamento entres classes. A refatoração garante a preservação do comportamento da aplicação, movendo todos os membros para as devidas classes superiores.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Framework de classes de Alunos, Funcionários e Pessoas
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Classes, Herança, Interface, Superclass
-->">
|
|
|
|

Tempo: 15:02 min
Mini Resumo: Nesta vídeo aula será mostrada a aplicação das refatorações Encapsulate Field e Convert Property to Auto Property (Encapsular Campo e Converter Propriedade para Propriedade Automática). No exemplo, será definida uma classe que possui um atributo público visível a outras classes que a consomem. Ao aplicar a refatoração, usando boas práticas da programação orientada a objetos, o encapsulamento da variável (field) privado garantirá que somente a propriedade com seus respectivos atributos get e set possam acessar o valor interno em memória. Além disso, o uso de propriedades automáticas (automatic properties) permite a declaração mais enxuta de membros com get e set, que também podem fazem uso de object initializers.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Classe Funcionario
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Propriedades, Encapsulamento
-->">
|
|
|
|

Tempo: 15:16 min
Mini Resumo: Nesta vídeo aula será mostrada a aplicação da refatoração Extract Class from Parameters (Extrair Classe de Parâmetros). Essa abordagem permite que os parâmetros escalares passados a um método ou construtor possam ser organizados em uma estrutura (classe ou struct) que pode então ser inicializada e passada uma única vez para o devido método, melhorando a legibilidade e organização do código, bem como o reaproveitamento. Além disso, torna os métodos mais simples de serem alterados caso um novo valor seja necessário ser passado como parâmetro, já que estão encapsulados em uma única estrutura a parte.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Classe Clientes com informações de Localidade
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Classes
-->">
|
|
|
|

Tempo: 15:20 min
Mini Resumo: Nesta vídeo será mostrada a aplicação da refatoração ConvertMethodtoProperty. No exemplo, será definida um método de um classe de Pedidos que será responsável pelo processamento de pagamentos via Boletos. Veja que esse é um problema de design, pois futuras formas de pagamento podem ser implementadas. Dentro do contexto de refatoração, o método será extraído do código e transformado em uma propriedade, que pode então ser setada a partir de uma classe externa através da implementação de um padrão de projeto conhecido como Injeção de Dependência / Inversão de Controle.
Tecnologias utilizadas:Visual Studio 2010, C#
Exemplos construídos: Framework de classes com problemas de design a serem resolvidos com refatoração
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Métodos, Propriedades, Injeção de Dependência, Inversão de Controle
-->">
|
|
|
|

Tempo: 14:43 min
Mini Resumo: Nesta vídeo será mostrada a aplicação da refatoração ConvertIteratortoMethod. No exemplo, veremos como implementar um método com suporte a iteração, implementando um padrão de projeto (patterniterator), permitindo que este possa ser varrido por laços for each, por exemplo. Veremos também como utilizar o recurso de yield do C# em iterators. A seguir, a refatoração cuidará de transformar a iteração em um método mantendo seu comportamento externo. Dois exemplo são feitos, um que itera uma coleção encapsulada, e outro método que itera constantes em strings no código com yieldreturn.
Tecnologias utilizadas:Visual Studio 2010, C#
Exemplos construídos: Aplicação Console com classes de suporte a IEnumerable e Iterators
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Iterator, Yield
-->">
|
|
|
|

Tempo: 18:43 min
Mini Resumo: Nesta vídeo será mostrada a aplicação da refatoração Convert Interface to Abstract Class. No exemplo, veremos que uma interface serve para reduzir o acoplamento entre uma classe que precisa acessar um framework de classes derivadas que possuem funcionalidades comuns, herdando todas da mesma interface. O problema surge quando um comportamento comum precisa ser implementado e compartilhado por todas as classes descendentes, o que não pode ser feito com interfaces, pois elas não podem conter implementação. A refatoração vista na aula transformará a interface em uma classe abstrata, fazendo que um código comum possa ser chamado em resposta a toda execução de um dado método virtual polimórfico.
Tecnologias utilizadas:Visual Studio 2010, C#
Exemplos construídos: Aplicação Console com classe abstrata / interface que define padrões para cache de objetos
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Interface, Abstract Class
-->">
|
|
|
|

Tempo: 16:10 min
Mini Resumo: Nesta vídeo será mostrada a aplicação da refatoração ConvertIndexertoMethod. Um indexador no contexto de uma classe é uma propriedade especial que permite a manipulação de um índice passado diretamente após o nome da instância, por exemplo, Objeto[10]. Internamente, uma propriedade indexadora se encarrega de capturar este índice e manipular via métodos Get e Set, chamada propriedade “default”. A refatoração vista nesta aula permite transformar automaticamente essa indexação para métodos planos getItem e SetItem, favorecendo o encapsulamento. O processo contrário dessa refatoração também pode ser feito, o que é conhecido como ConvertMethodtoIndexer.
Tecnologias utilizadas:Visual Studio 2010, C#
Exemplos construídos: Aplicação Console com classe e propriedade indexada (default)
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Propriedade Indexada, Propriedade Default, Index
-->">
|
|
|
|

Tempo: 14:44 min
Mini Resumo: Nesta video será mostrada a aplicação da refatoração Convert Extension Method to Plain Static. Um método estático de extensão serve para injetar funcionalidades em uma classe pré-existente, sem no entanto ter que criar uma classe descendente para isso, o que envolveria o uso de herança e modificações no design de framworks. Através desta refatoração, um método pode ser injetado de forma a ser utilizado na própria classe destino (alvo), preservando o comportamento externo e código pré-existente, não sendo necessário modificar a hierarquia. O exemplo mostrará como refatorar uma classe que injeta funcionalidades de exportação em classes de acesso a dados do próprio .NET Framework.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Aplicação Console com classe de extensão
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Métodos de Extensão, Extension Methods, Static
-->">
|
|
|
|

Tempo: 14:43 min
Mini Resumo: Nesta video será mostrada a aplicação da refatoração Convert Anonymous to Named Type. Uma classe anônima no C# é usada para designar uma estrutura com atributos que não estão projetados dentro de um tipo (classe), mas são usados da mesma forma em locais que se esperaria uma classe. Sâo trechos de código in-line, desprovidos de declaração formal, servindo para tornar a codificação mais fluente. A refatoração mostrada pode transformar uma classe criada de forma totalmente anônima em uma estrutura estática, como se fosse feito da forma tradicional, extraindo de forma correta os membros / atributos utilizados na construção anônima. O exemplo apresenta ainda como examinar o código IL gerado pelo compilador C# para suportar anonymous types.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Aplicação de Web que cria objetos de tipos anônimos e exibe em um grid
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Anonymous Types, Tipos Anônimos
-->">
|
|
|
|

Tempo: 15:01 min
Mini Resumo: Nesta video será mostrada a aplicação da refatoração Convert Abstract Class to Interface. Classes abstratas são largamente utilizadas na programação orientada a objetos para criar estruturas e frameworks mais adaptáveis a mudanças (uma boa prática), tornando um projeto aberto para expansão e fechado para modificação. A programação para abstrações pode ser fortalecida através da programação para interfaces, de forma que uma refatoração possa ser aplicada a uma classe abstrata transformando-a a em uma interface do C#, preservando ainda o comportamento da classe que consome as especificações concretas. O procedimento inverso também pode ser feito com refatoração, transformando uma interface em uma classe abstrata e aplicando automaticamente todas as modificações necessários, de forma a tornar possível adicionar código comum a subclasses na classe base (o que não é possível com interfaces).
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Aplicação de Console com framework de classes concretas e classe abstrata
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Abstract, Interface, Convert
-->">
|
|
|
|

Tempo: 16:32 min
Mini Resumo: Nesta video será mostrada a aplicação da refatoração Change Signature. Veremos como criar um método que possui uma dada assinatura, com seus devidos parâmetros, nomes e tipos. A refatoração aplicada pode fazer a mudança da assinatura, incluindo o nome do método, nomes e ordem de parâmetros, adição ou remoção de parâmetros e troca do tipo de objeto de retorno. A refatoração garante ainda que as chamadas a esse método refatorado façam uso correto das mudanças aplicadas. A vídeo mostra ainda como localizar “bad smells” no código usando recursos integrados ao IDE, como por exemplo, detectar automaticamente códigos semelhantes / redudantes (uma das piores práticas de programação). Mostra também como usar métodos com parâmetros nomeados, recurso do C# desde a versão 3.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Aplicação de Console com classe estática e método estático
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Métodos, Assinatura, Change Signature
-->">
|
|
|
|

Tempo: 17:02 min
Mini Resumo: Nesta video será mostrada a aplicação da refatoração Adjust Namespaces. Uma boa prática em grandes projetos com o .NET é organizar frameworks de classes em subpastas, e que os namespaces das respectivas classes reflitam a hierarquia física do disco. Por exemplo, uma classe de acesso a dados chamada DAL poderia estar no diretório físico [root]\[Empresa]\Data, com o namespace da classe sendo chamado de [Empresa]\Data. Ao reorganizar os arquivos de classes nos diretórios do framework, se faz necessário refletir essa alterações nas definições dos namespaces, processo que pode ser resolvido automaticamente através da refatoração Adjust Namespaces.
Tecnologias utilizadas: Visual Studio 2010, C#
Exemplos construídos: Aplicação de Console com framework
Palavras chaves: Visual Studio, C#, Programação, Refactoring, Namespaces, Adjust Namespaces
-->">
|
|
|
|

Tempo: 19:19 min
Mini Resumo: Nesta vídeo será mostrado como criar uma Stored Procedure que utilize mais objetos do .NET, como DataTable e DataView em conjunto com o SqlDataAdapter. Este último é usado para executar o comando SQL e preencher um DataTable com dados da tabela. A seguir, veremos como aplicar um filtro nos dados usando um DataView (objeto que funciona de forma semelhante a uma View do SQL Server). O filtro seleciona apenas os registros de acordo com um filtro condicional passado como parâmetro para o método. O interessante aqui é que não devolvemos essa estrutura para o cliente. Dinamicamente criamos uma estrutura de dados usando SqlMetaData, onde definimos as colunas e tipos. Depois, varremos a visão e para cada registro filtrado criamos um SqlDataRecord, enviando ao cliente através do Pipe. Isso mostra como podemos manipular dados antes de enviá-los ao cliente, bem como criar uma estrutura dinâmica de dados. Você pode, por exemplo, usar SqlMetaData/SqlRecord para montar sua própria “tabela”, com dados provenientes das mais diversas fontes e obtidos das mais diferentes formas.
Tecnologias utilizadas: Visual Studio 2010, SQL Server 2008, C#
Exemplos construídos: Projeto de Banco de Dados CLR Database no Visual Studio
Palavras chaves: Visual Studio, SQL Server, CLR, Banco de Dados, Programação, DataDatable, DataView, Filtros, SqlMetaData, SqlRecord
-->">
|
|
|
| |
|