Archives for Arquitetura - Page 2

Arquitetura

Mocking Frameworks, com grandes poderes… – Parte 01


Falae pessoal, pro meu primeiro post aqui no blog queria trocar uma idéia com vocês sobre os famosos mocking frameworks. Não sabe o que é mocking framework? Sem problema! Antes de continuar dá uma olhada aqui e aqui. A minha proposta é mostrar um lado que não é muito falado em posts e livros sobre o assunto; Vejo frequentemente uma prática comum entre os adeptos de testes: a primeira coisa que se faz ao começar a testar é “instalar” o mocking framework. Isso me preocupa um pouco e vou tentar explicar o pq. Qual o problema com mocking frameworks? Em uma...
Continuar Lendo »
Arquitetura

Aplicando SOLID com C# – ISP (Interface Segregation Principle)


Chegamos a quarta parte da série sobre os padrões SOLID apresentados aqui no NET Coders. Hoje o assunto abordado será o ISP (Interface Segregation Principle) ou Princípio da Segregação de Interface. Uma pitada de Programação Orientada a Objetos Antes de entender o que é o ISP, vamos falar um pouco sobre POO (Programação Orientada a Objeto) e Interfaces. Um dos grandes paradigmas da POO diz que é muito melhor programar para uma abstração do que para uma implementação. O uso das interfaces torna o código menos acoplado, extensível e assim gerando menos problemas em manutenções ou adições de novas...
Continuar Lendo »
Arquitetura

Introdução ao MVVM (Model-View-ViewModel)


Introdução  Ao criar um aplicativo é comum termos problemas relacionados à camada de acesso à dados, camada de negócios e comumente na interface com o usuário.  Neste artigo e nos próximos sobre MVVM, vamos ver como melhorar a produtividade, testabilidade e facilidade de manutenção, no desenvolvimento de aplicativos, com o uso de Padrões de Projeto baseado em IU.  MVVM é um padrão de projeto baseado em UI, ele é uma aplicação do MVP, que é uma derivação do MVC. Estes padrões de projeto (MVC, MVP e MVVM) procuram atingir os mesmos objetivos mas com soluções diferentes.  Objetivos  Rich UI...
Continuar Lendo »
Arquitetura

Aspect Oriented Programming


Aspect Oriented Programming ou Programação Orientada a Aspectos é um paradigma de programação que já existe há algum tempo, mas que ultimamente tem chamado bastante atenção da comunidade de desenvolvedores .NET. Ela é utilizada na separação e modularização de aspectos de Infraestrutura de um Software. AOP é frequentemente utilizada para implementar recursos de Log, Tracing, Cache, Segurança, Concorrência ou Falhas. Existe um universo de soluções que pode ser implementado utilizando-se AOP e os exemplos que citei anteriormente são somente as soluções mais comuns. Se é repetitivo, pode DEVE ser automatizado. Paradigmas  AOP não é: Uma linguagem de programação; Um...
Continuar Lendo »
Arquitetura

WCF x Web API: comparando as tecnologias .NET para implementação de serviços


O surgimento de tecnologias como XML e o advento dos Web Services foram, sem sombra de dúvidas, acontecimentos de fundamental importância do ponto de vista da integração entre sistemas informatizados. Além de possibilitar o compartilhamento de informações em tempo real, tais estruturas transformaram de maneira profunda a atuação de organizações nos mais variados ramos de negócio. Focando no desenvolvimento de serviços que fazem pleno uso das capacidades do framework .NET, a tecnologia WCF foi concebida com o intuito de fornecer alternativas aos mais variados cenários. Outra preocupação da Microsoft ao disponibilizar este framework foi possibilitar uma fácil aderência das...
Continuar Lendo »
Arquitetura

Aplicando SOLID com C# – LSP (Liskov Substitution Principle)


Continuando com a nossa série de artigos sobre os padrões SOLID, o assunto aqui abordado será o LSP (Liskov Substitution Principle) ou em português Princípio da Substituição de Liskov. Eu diria que o LSP é mais uma questão de análise e questionamentos sobre o sistema do que propriamente “mão na massa” e adiante vamos entender o porquê. Esse conceito foi desenvolvido em um artigo científico de autoria de Barbara Liskov e apresentado em 1987, tendo sido publicado em 1994 em conjunto com Jannette Wing. A teoria original do artigo era: Se q(x) é uma propriedade demonstrável dos objetos x do tipo T. Então...
Continuar Lendo »
Arquitetura

Refatoração – Fugindo do Code Smell


Code Smell é uma realidade quando temos que programar pra ontem ou com um requisito volátil, nunca paramos de remendar os sistemas. Refatorar é algo que deve vir com prioridade zero durante o desenvolvimento e que fica aparente a sua utilidade durante a escrita de testes. Metodologias como o TDD te obrigará a fazer refatorações constantemente. Porém como que fazemos uma refatoração, quais os cuidados que devemos tomar, os caminhos a seguir? Não existe uma receita de bolo e sim muita análise lógica do que está sendo modificado tomando todos os cuidados para não alterar o comportamento do sistema. A...
Continuar Lendo »
Arquitetura

Aplicando SOLID com C# – OCP


Dando continuidade ao estudo sobre os padrões SOLID, no primeiro artigo falamos sobre o SRP, agora na segunda parte, vamos conversar um pouco sobre OCP (Open Closed Principle), ou em português (Princípio Aberto-Fechado). O que se trata? Como o nome já sugere, o padrão OCP diz que uma classe ou método durante o desenvolvimento deve estar aberto para extensão e fechado para modificação quando necessário uma adição de funcionalidade, ou seja, o desenvolvedor visa diminuir a complexidade e riscos em manutenções futuras.  Eu diria que o OCP trabalha junto com o SRP, um complementa o outro, para implementar se faz...
Continuar Lendo »
Arquitetura

WCF Self Hosting


Olá pessoal, meu nome é Rafael e este é meu primeiro artigo aqui no .NET Coders. Hoje eu vou falar sobre WCF hospedado em um serviço gerenciado do Windows. Como muitos já sabem, o WCF é um Framework desenvolvido e mantido pela Microsoft que permite a construção de aplicações orientadas a serviços. Ele é muito utilizado em ambientes de aplicações com Web que normalmente rodam em cima de um servidor IIS, mas o que muita gente não sabe é que o WCF não necessariamente precisa do IIS para funcionar. Por que utilizar o WCF? Interoperabilidade Segurança Alta Disponibilidade Múltiplos...
Continuar Lendo »
Arquitetura

Padrões e CQRS (Command Query Responsibility Segregation) – Parte 1


Existem muitos padrões de arquitetura disponíveis no momento e muitos outros estão por vir. Fato é que alguns projetos foram bem sucedidos e outros não, sejam estes utilizando o padrão da moda DDD (Domain Driven Desing) ou qualquer outro padrão de arquitetura. Mas o que seria um Padrão? O arquiteto e Professor Christopher Alexande no livro “A Times Way of Building” descreveu que um padrão é uma regra de três partes que expressa a relação entre um contexto, um problema e uma solução. Costumo responder esta pergunta apresentando um padrão sendo uma formula para solucionar um problema sob um...
Continuar Lendo »