Framework para Constraint Programming

A Microsoft disponibilizou um framework chamado Solver Foundation que facilita a resolução de problemas lógicos e/ou matemáticos complexos. Este Solver utiliza a técnica de Constraint Programming que é um tipo de programação baseada em declarações e visa resolver com poucas linhas problemas que vão desde logística (caminho de menor custo, etc.) até jogos simples como…


Extensibilidade via AddIns, MEF e/ou Unity Application Block

Creio que foi Douglas McIlroy quem primeiro falou em componentes de software ainda em 1968 (o artigo pode ser visto em http://www.cs.dartmouth.edu/~doug/components.txt). Ele, como outros, naquela época, reclamava da falta de maturidade na produção de software e sugeria a produção de componentes de software de maneira análoga à que já acontecia em outras engenharias. Desde…

3

MapReduce no Windows Azure

Hoje vou descrever a vocês um pouco do que é o famoso MapReduce e como podemos simulá-lo no Azure. Formalmente, o framework foi apresentado em um artigo de 2004 na OSDI por Jeff Dean e Sanjay Ghemawat, ambos da Google, e é hoje usado por vários sites (Facebook, Yahoo, e muitos outros). O MapReduce é…


Ergonomia no Design e Arquitetura de Software

Michi Henning escreveu um artigo na ACM Communications de Maio sobre um assunto recorrente neste blog aqui: a importância de levar em conta o usuário na heurística para o bom desenho de uma API. As principais sugestões de boas práticas para o design de API´s dadas no artigo são: Uma API deve prover funcionalidades suficientes…

2

Frameworks, treinamento e qualidade

Estivemos a pouco visitando um cliente que pretende desenvolver/utilizar um framework de programação visando um maior controle e desempenho dos aplicativos que irão rodar na empresa. Hoje em dia eles não têm uma padronização na programação dos softwares da casa e, pior, estes não são instrumentados. Esta falta de instrumentação, por sua vez, é responsável…

4

Capacidades, Usabilidade e Retorno de Investimento

Poucos dias atrás o Waldemir me comentou que não achou muito clara a minha proposta de abordagem de framework neste blog. Vou tentar esclarecer aqui um pouco mais. Fazer um framework é uma questão de “como conseguir o aumento da produtividade no desenvolvimento de aplicações?”. São dois os focos da minha proposta: Capacidades: um framework…

2

Estilos para Construir Frameworks

Ao longo destes anos pude acompanhar várias equipes envolvidas no desenvolvimento de frameworks – o que é sempre um prazer. Depois de muitas observações, creio que posso tentar delinear alguns padrões de comportamento destes arquitetos envolvidos nestes projetos. O primeiro estilo, e o mais freqüente, é o “bottom-up”. Estas equipes são extremamente focadas em tecnologia…

4

Fim dos Frameworks caseiros?

A solução simples de três dores de uma arquitetura em 3 camadas mostradas em apenas 2 artigos! Primeiro artigo: Customize Data Display with Data Binding and WPF do Josh Smith. Segundo artigo: The Entity Framework In Layered Architectures do John Papa. Binding de dados e validação de um data entry sempre foi um trabalho relativamente…

3

A Cozinha da Composição

Boas novas. Acaba de sair o Composite Application Guidance para WPF. Além de exemplos e código fonte que mostram como compor uma interface gráfica, ele contém também uma referência interessante aos patterns utilizados em http://msdn.microsoft.com/en-us/library/cc707841.aspx. Vale uma olhada. Composição é umas das técnicas mais importantes da computação e tem ganhado novas armas nestas últimas décadas….


Como encontrar os pontos de variação em uma aplicação?

Com certeza é um trabalho de análise a ser realizado antes da codificação. Parece simples, não é? Mas não é o costume. A lei do menor esforço é o costume e ela tem todo o sentido: menos esforço implica menos gastos que implica em menos custos. No entanto, quando temos uma aplicação dirigida a vários…