Redimensão de imagens (C# + WPF + MVVM + Asynchronism + Comentários)

Redimensão de imagens é uma tarefa comum do dia-a-dia para quem trabalha com computadores. Redimensionamos imagens em tarefas do trabalho, lazer, e do cotidiano. Esta é uma tarefa que pode ser executada facilmente com um editor de imagens, mas é bastante custosa quando queremos redimensionar um conjunto de imagens.

Por conta do trabalho (e tempo) gasto com a redimensão de múltiplas imagens, e pela vontade de não depender da instalação de nenhum editor de imagens, acabei por criar um programa que faz essa redimensão em massa. Fiz isso quatro anos atrás e, como o programa se tornou “popular” entre amigos e familiares, percebi que era preciso fazer uma nova versão com tecnologias mais novas.

app-resizeme-512

Saiba mais

About these ads

Construindo camadas de acesso a dados – Parte V – Unity of Work

O padrão Unit of Work mantém um rastreamento sobre todas as alterações que possam alterar sua fonte de dados durante uma transação. Assim, quando todas as alterações já tiverem sido executadas o padrão fica responsável por persistir todas na fonte de dados.

Geralmente, não somos responsáveis por implementar este padrão, acabamos por consumi-lo em ferramentas de persistência, como: Entity Framework, NHibernate e LINQ to SQL.

Saiba mais

Vídeo/Palestra – Patterns para criação de camadas de acesso a dados

Olá,

Foi publicado o vídeo da minha palestra no Visual Studio Summit 2013. O tema da palestra foi: “Patterns para criação de camadas de acesso a dados”.

Saiba mais

Visual Studio Summit 2013: Patterns para criação de camadas de acesso a dados

Olá!

No último sábado (25/05/2013) tive a honra de participar do Visual Studio Summit 2013.

Participei da edição de 2012 com o tema “Principais novidades do Entity Framework 5″ (http://ferhenriquef.com/2012/09/24/visual-studio-summit-2012-principais-novidades-do-entity-framework-5-0/).

Este ano apresentei um conteúdo mais próximo aos tópicos de arquitetura e modelagem de software, falei sobre o tema “Patterns para criação de camadas de acesso a dados”.

Saiba mais

Construindo camadas de acesso a dados – Parte IV – Padrão “Find or Create”

Continuando a série de posts sobre camadas de acesso a dados (se vc não sabe do que estou falando clique aqui: Camadas de Acesso a Dados). Existe um padrão que comumente utilizamos e que não fazemos ideia de que este realmente é um padrão documentado e utilizado por muitos, este é o padrão “Find or Create”.

Este padrão consiste da característica de: buscar um determinado dado na fonte de dados e, se o mesmo não for encontrado, então fazer a sua inclusão. Pode parecer simples, mas é um recurso bastante comum que utilizamos no nosso dia.

Saiba mais

Construindo camadas de acesso a dados – Parte III – Repositórios Genéricos (Pantheon)

O padrão Repository é muito utilizado em abordagens que fazem uso de ferramentas de mapeamento objeto relacional (ORM). O objetivo deste pattern é reunir comandos de acesso a dados em uma classe que por meio dos recursos de generics faça as operações de inserção, atualização, exclusão e recuperação de dados.

clip_image002

Saiba mais

Construindo camadas de acesso a dados – Parte II – Identity Field

Dentro dos diferentes patterns de criação de camadas de acesso dados alguns deles não estão diretamente associados à construção de nossos repositórios, mas estão associados com a adequação da estrutura de nossas entidades a um determinado objetivo.

Este post é sobre um pattern chamado Identity Field.

O padrão Identity Field instrui a utilização de uma propriedade que funcione como chave de identificação de cada entidade das demais, independente do seu tipo de dados, tabela na qual estão salvos ou estrutura.

O objetvo desta chave de identificação é basicamente funcionar como identificador global, que ao contrário dos valores de campos que são chaves primárias (que geralmente são baseados em tipos inteiros, auto-incrementais e que podem se repetir em outras tabelas), agregue uma identificação única daquela tupla no banco de dados e no sistema.

Saiba mais

Um modelo arquitetural…

Nos últimos tempos tenho recebido algumas perguntas de como modelo meus projetos, quais design patterns utilizo e como divido minha aplicação em camadas. Estas perguntas possuem apenas uma resposta: depende do caso.

Cada aplicação merece um modelo arquitetural diferente do outro. Cada aplicação exige diferentes design patterns. Cada aplicação funciona de um jeito. Nenhuma aplicação é igual a outra, assim como os dedos das mãos não são iguais.

Mas, como esta pergunta não possui uma resposta certa ou errada, gostaria de demonstrar um modelo arquitetural que me agrada bastante. Este modelo mescla alguns design patterns e alguns princípios de projetos orientados a objetos. A arquitetura da aplicação é a demonstrada abaixo.

architecture

Saiba mais

Padrão Bom Cidadão (Good Citizen Pattern)

Olá,

Faz algum tempo que não escrevo e o motivo disto é uma questão de tempo. Devo apresentar meu mestrado no próximo mês de Dezembro e a correria é grande para terminar tudo…

Hoje gostaria de escrever sobre um design pattern que sempre apliquei, mas que não sabia que era um design pattern. Esse tipo de situação é mais comum de acontecer do que parece… Geralmente os design patterns são soluções que as pessoas aplicam no seu dia-a-dia e que após serem consideradas viáveis e reutilizáveis são documentadas em algum catálogo de padrões.

51M-zRDNMJL._SL500_PIsitb-sticker-arrow-big,TopRight,35,-73_OU01_SS500_

Saiba mais

Design Pattern – Façade

O pattern Façade (fachada), pertencente ao catálogo GOF, possui a intenção de estruturar o sistema de forma que se crie uma barreira (fachada) entre um conjunto complexo de instruções (subsistema) e os desenvolvedores (usuários), de forma que o subsistema torne-se mais fácil de ser utilizado e entendido, além de tornar-se reutilizável e confiável por executar sempre a mesma seqüência de passos. (Bishop, 2007, p. 93) (GoF, 1995, p. 179)

“Fornece uma interface unificada para um conjunto de interfaces em um subsistema. O Façade define uma interface de nível mais alto que torna o subsistema mais fácil de usar.” (GoF, 1995, p. 179)

clip_image002

 

Saiba mais

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 63 outros seguidores