Obrigado 2013 – Que venha 2014

Agradecer é algo que não praticamos com muita freqüência, no entanto devemos nos dedicar um pouquinho mais e nos ocuparmos com os agradecimentos, afinal, se você está lendo esse texto, no mínimo você está vivo e com acesso à internet. Muito nos questionamos sobre a qualidade da vida que vivemos, sem aquela balela de “qualidade…

Veja mais

IOC / DI – Você está fazendo isso errado!

Olá, agora vou tocar em um assunto que parece uma ferida para muitos, mas considero bem básico. Infelizmente, acredito haja quem confunda estes conceitos, e por ter encontrado pela estrada alguns projetos com tais problemas relacionados à compreensão de IoC e DI, venho escrever esse post. É um tema tão cotidiano que hoje está disponível…

Veja mais

SOLID

Olá,

bom, já temos conteúdo suficiente indexado pelo Google falando de SOLID. Minha intenção é criar um debate sobre SOLID e não definí-lo para você.

Single responsibility principle
Open/closed principle
Liskov substitution principle
Interface segregation principle
Dependency inversion principle

Ao longo desses muitos anos desenhando soluções tenho algumas dicas para facilitar a vida de quem está vendo S.O.L.I.D. pela primeira vez. Aos que já usam SOLID no dia-a-dia, é provável encontrar muitos que já se depararam com esses paradigmas em algum momento. Minha intenção é trazer à tona os problemas de interpretação, mostrar as minhas interpretações e evocar o bom senso para que possamos chegar a alguma conclusão satisfatória.

Veja mais

Oragon Architecture Now On GitHub

Bom galera, movi meu projeto pessoal o Oragon Architecture para o GitHub ( https://github.com/luizcarlosfaria/Oragon.Architecture.git ). A intenção é estar mais próximo da comunidade, permitindo melhor integração com todo mundo que usa de alguma forma o projeto. O Oragon Architecture me acompanha a muitos anos e pretendo fazer bastante material sobre ele. Espero que gostem! CheckOut It (…

Veja mais

Como definir a Arquitetura de um Software

Nessa semana que passou, rolou uma thread muito legal no DotNetAchitects e nessa thread fiz meus comentários a respeito. Bom, achei interessante conseguir transcrever meus pensamentos sobre o assunto e acho que talvez possa ajudar aqueles que estão se questionando sobre como definir a arquitetura de um software ou solução. Para que? Legal quando precisamos pensar…

Veja mais

Oragon Architecture disponível no NuGet

Bom, admito que já faz algum tempo que tenho pensado em migrar as referências do Oragon Architecture para o NuGet. A direita está a lista completa de referências, armazenadas na pasta [References], uma prática bem antiga, mas extremamente eficiente. Por diversos motivos, incluindo retrocompatibilidade, venho sofrendo com a vontade e concomitantemente com a preguiça de…

Veja mais

Microsoft® “Roslyn” e um futuro muito interessante

Para quem ainda não conhece, Microsoft “Roslyn” demonstra a próxima geração de modelos de objeto de linguagem, para geração de código, análise e refactoring, e terá suporte para scripting e interatividade com C# e VB.NET. A proposta inicial é bem interessante, segue o disclaimer em inglês: Traditionally, compilers are black boxes – source code goes in…

Veja mais

Future Plans for C# – Null Propagation

No artigo Future Plans for C# de InfoQ Internacional, temos um ponto que acho bem interessante de ser ressaltado: Null Propagation Esse assunto já foi tema de muita discussão no DotNetArchitects em um post sobre Null Object Pattern. When working with messy data, developers often have to write a series of null checks before reading a…

Veja mais

Oragon Architecture – A evolução e os novos desafios

Para quem trabalhou comigo no BTG Pactual viu no Oragon Architecture o início do Oragon Architecture Services, que consistia em uma camada de abstração para a criação de serviços baseados em WCF, ainda configurado side-by-side com a configuração de WCF do .Net Framrwork. Para atender às demandas da B2W Viagens, não tivemos muita evolução, mas…

Veja mais

Legado Versus Design – Database First e Code First

Bom, quem acompanha o Oragon Architecture ao longo dos anos, mesmo que de forma despretensiosa, em algum momento me questiona sobre algumas decisões tomadas. Vou tentar ser breve para relatar alguns dos problemas e soluções que motivaram minhas decisões. Nesse tópico, vou falar de gestão de base de dados, Code First e Database First. Esse…

Veja mais

Redis, MongoDB, RabbitMQ, Sentry e muito mais que o mundo Linux pode oferecer para aplicações .Net

Se você não conhece nenhuma dessas soluções, vou fazer um breve apanhado sobre as capacidades de cada uma delas. Redis ( http://redis.io/ ) Redis é um Key-Value Storage. Basicamente um tipo de NoSQL baseado em chave-valor. Nele armazenamos objetos complexos. É uma solução muito útil para cache, entre outras abordagens. Se você já usou SharedCache, Memcached, e outras…

Veja mais

Coisas úteis que um dev nunca deve deixar de ter

Bom, isso aqui anda meio parado. Ando estudando um milhão de coisas simultaneamente: File System Distribuído, Performance em NoSQL, escalabilidade, OWIN, Katana, ASP.NET MVC 5. Está realmente complicado de dar uma passadinha aqui para escrever. Mas vendo um artigo do Elemar, me lembrei de algumas coisas interessantes que podem ajudar muitos. Todo dev que se…

Veja mais

Contratos são garantias – JSON Schema

Não faz muito tempo que apanhei horrores em uma discussão no DNA sobre Json Schemas, mas para minha sorte e daqueles que estão ao meu lado nessa empreitada, saiu no dia 10/Abril no blog .NET Web Development and Tools o artigo Intellisense for JSON Schema in the JSON Editor, que ao meu ver é extremamente interessante. Bom,…

Veja mais

Roadmap de Arquitetura – Um exemplo real

As vezes sou questionado sobre meus desenhos de arquitetura e porque criar tantas abstrações, tanta configuração e tantas dependências e frameworks de terceiros, alguns que só eu e um tibetano conhecemos. No post Como definir Arquitetura de Software, cito quais são os pensamentos primários necessários para se desenhar um arquitetura, mas vamos aplicar isso a um…

Veja mais

Oragon Architecture – Por que? Pra que?

Olá, tudo bom? Vou falar um pouco do meu projeto pessoal o Oragon Architecture. Se você me acompanha, sabe que falo bastante dele, e vou aproveitar para responder algumas perguntas que já me fizeram nos últimos dias.   Já fui questionado algumas vezes porque criar um framework de aplicação, uma arquitetura relativamente gorda, baseada em…

Veja mais

Integrações, XML`s e NoSQL

Olá, tudo bom? Nesse post gostaria de abordar uma solução que usei no iMusica e que pode também te ajudar com integrações baseadas em XML ou qualquer formato unquerable(neologismo). Antes de falar da solução, vou falar do problema. Nossas integrações no iMusica geralmente se dão por meio de troca de arquivos, contendo pacotes com mídia…

Veja mais

Stack e Queue também são seus amigos

Olá, tudo bom com você? Espero que sim! Estou aqui para falar rapidamente de Pilhas e Filas. Bom, o C# possui no namespace System.Collections.Generic, duas classes genéricas, bem úteis, mas muito ignoradas: Stack<T> e Queue<T>. O que você precisa saber de Queues e Stacks: Queues implementas FIFO (First in, First Out), enquanto Stacks implementa LIFO (Last in, First Out). Métodos…

Veja mais

Roadmap da Reestruturação do Oragon Architecture

Olá, como vai você?

Espero que esteja tudo bem! Nesse post vou falar das mudanças previstas para o Oragon Architecture nas próximas semanas. No post Oragon Architecture – A evolução e os novos desafios eu falo da evolução ao longo dos anos e do que pretendemos fazer focando no big picture do projeto. Agora é hora de especificar os detalhes que envolvem a construção do projeto. Enfim, transformar uma ideia em resultado, para isso é necessário planejar. Abaixo vamos abordar a estratégia de migração do Oragon Architecture. Espero que goste!

Veja mais