Limit your abstractions - Série sobre abstrações e seus custos

02/22/2012 19:32:27 By Felipe Pessoto

O blog do Ayende é um dos que considero leitura obrigatória pra qualquer desenvolvedor, ainda mais .NET. Ele já me salvou de usar abstrações inúteis uma vez e nesta série ele volta a falar sobre abstrações que mais atrapalham do que ajudam, adicionando complexidade e "cerimônia" que não ajudam em nada.

Ele fala um pouco sobre como ele costuma programar e o design usado. As aplicações que ele desenvolve costumam ter 7 abstrações:

  1. Controllers
  2. Views
  3. Entities
  4. Commands
  5. Tasks
  6. Events
  7. Queries

Os três primeiros são bastante conhecidos, Commands são como um pacote, que acontece assim que é chamado, as Tasks por sua vez não tem um momento exato para ocorrerem, como uma tarefa assíncrona. Events são usados quando algo importante acontece no sistema e requer uma ação. E as Queries também são obvias.

A série até agora já tem 13 partes:

Limit your abstractions: Analyzing a DDD application
Limit your abstractions: Application Events–the wrong way
Limit your abstractions: Application Events–what about change?
Limit your abstractions: Application Events–Proposed Solution #1
Limit your abstractions: Application Events–Proposed Solution #2–Cohesion
Limit your abstractions: Application Events–event processing and RX
Limit your abstractions: You only get six to a dozen in the entire app
Limit your abstractions: Commands vs. Tasks, did you forget the workflow?
Limit your abstractions: All cookies looks the same to the cookie cutter
Limit your abstractions: So what is the whole big deal about?
Limit your abstractions: Refactoring toward reduced abstractions
Limit your abstractions: The key is in the infrastructure…
Limit your abstractions: And how do you handle testing?

Código Limpo (Clean Code) por Robert C. Martin ou "Uncle Bob"

02/22/2012 18:57:20 By Felipe Pessoto

Eu estava com um cupom do Submarino de R$50,00 e essa promoção foi perfeita. Tudo bem que eu preferiria se tivesse a versão original em inglês, pois as traduções de livros técnicos costumam ser bem ruins.

Tenho que acelerar a leitura, ultimamente os livros estão acumulando....estou terminando o Entity Framework e já tem na fila Microsoft® SQL Server® 2008 Internals e o Code Complete, também em português...

O autor do livro, Robert C. Martin, mais conhecido como Uncle Bob, é o autor dos livros que são referência em Extreme Programming e desenvolvimento ágil de software.

Edit: Dica do Kim, na Saraiva está R$67,00 a versão em inglês

FujiyBlog executando em Medium Trust

02/13/2012 22:48:02 By Felipe Pessoto

Na última semana trabalhei para remover a dependencia do AutoMapper que só executa em Full Trust por causa do Reflection. Também tive que descobrir por que o Entity Framework 4.3 estava exigindo Full Trust sendo que os developers garantem que não precisa. O problema era uma propriedade string non public que eu usava como back store pra um IEnumerable. Faz todo sentido, se a propriedade não é pública o EF é obrigado a acessar por Reflection, gerando o Security Exception.

Pretendo dar mais um polimento, atualizar todos os packages e só então liberar a versão 0.3. Entre as prioridades está as notificações de comentários por e-mail e o anti-spam para comentários.

Building Async Coordination Primitives

02/13/2012 22:37:48 By Felipe Pessoto

Ontem o Stephen Toub("o cara" quando se fala sobre async) postou no blog Parallel Programming with .NET uma série de posts sobre como criar classes equivalestes aos "coordination primitives" mas Async. Ele usa como exemplo o ManualResetEvent, AutoResetEvent, entre outros, vale a pena conferir: