Fowler - Padrões de Arquitetura de Aplicações Corporativas - Padrões Traduzidos

Olá pessoal,

Comprei o livro Padrões de Arquitetura de Aplicações Corporativas do Martin Fowler e estou iniciando a leitura. O livro é em Portugues, e me pareceu exelente numa primeira folheada.

O livro peca entretanto na tradução dos padrões, tornando difícil em alguns casos a identificação e correspondência ao termo em inglês.

É essa a intensão desse post, aproveitar a maior experiência dos amigos para “destraduzir” os nomes dos padrões, alguns são óbvios, mais outros são bem difíceis de identificar. Isso me ajudaria muito a compreender melhor as coisas, dando nomes aos bois. Acho que todos que compraram este livro se beneficiariam com essas informações.

Caso alguns nomes de padrões fiquem difíceis de indentificar, eu busco depois mais detalhes e exemplos.

Segue abaixo a lista dos padrões abordados no livro e sua definição. Esta lista foi copiada da contra capa do livro. Basta apenas que o nome do padrão, em negrito, seja identificado ao seu correspondente em inglês. Obrigado a todos que puderem colaborar.

1- Bloqueio de Granularidade Alta - Bloqueia um conjunto de objetos relacionados utilizando para isso um único bloqueio.

2- Bloqueio Implícito - Permite ao código de uma camada supertipo ou de um framework obter bloqueios offline.

3- Bloqueio Offline Otimista - Previne conflitos entre transações de negócios concorrentes detectando um conflito e desfazendo a transação.

4- Bloqueio Offline Pessimista - Previne conflitos entre transações de negócios concorrentes permitindo que apendas uma transação de negócio acesse os dados de cada vez.

5- Camada de Serviço - Define a fronteira de uma aplicação com uma camada de serviços que estabelece um conjunto de operações disponíveis e coordena a resposta da aplicação em cada operação.

6- Camada Supertipo - Um tipo que atua como o supertipo para todos os tipos nesta camada.

7- Campo Identidade - Guarda o campo ID de um banco de dados em um objeto para manter a identidade entre um objeto na memória e uma linha do banco de dados.

8- Carga Tardia - Um objeto que não contém todos os dados de que você precisa, mas sabe como obtê-los.

9- Caso Especial - Uma subclasse que fornece comportamento especial para casos particulares.

10- Conjunto de Registros - Uma representação em memória de dados tabulares.

11- Controlador de Aplicação - Um ponto centralizado para manipular a navegação de tela e fluxo de uma aplicação.

12- Controlador de Página - Um objeto que trata uma requisição para uma página ou ação específica em um site web.

13- Controlador Frontal - Um controlador que trata todas as requisições para um site web.

14- Dinheiro - Representa um valor monetário.

15- Estado de Sessão no Banco de Dados - Armazena dados de sessão no banco de dados.

16- Estado de Sessão no Cliente - Armazena o estado de sessão no cliente.

17- Estado de Sessão no Servidor - Mantém o estado de sessão no servidor.

18- Fachada Remota - Fornece uma fachada de granularidade alta sobre objetos de granularidade baixa para melhorar a eficiência em uma rede.

19- Gateway - Um objeto que encapsula o acesso a um sistema ou recurso externo.

20- Gateway de Linha de Dados - Um objeto que atua como um Gateway para um único registro em uma fonte de dados. Existe uma instância por linha.

20- Gateway de Tabela de Dados - Um objeto que atua como um Gateway para uma tabela de um banco de dados. Uma instância lida com todas as linhas na Tabela.

21- Herança de Tabela Concreta - Representa uma hierarquia de herança de classes com uma tabela por classe concreta na hierarquia.

22- Herança de Tabela de Classes - Representa uma hierarquia de herança de classes com uma tabela por classe.

23- Herança de Tabela Única - Representa uma hierarquia de herança de classes com uma única tabela que tem colunas para todos os campos das diversas classes.

24- Interface Separada - Define uma interface em um pacote separado de sua implemetação.

25- LOB Serializado - Grava um grafo de objetos serializando-os em um único objeto grande (LOB - Large Objetct), o qual é armazenado em um campo do banco de dados.

26- Mapa de Identidade - Garante que cada objeto seja carregado apendas uma vez mantendo cada objeto carregado em um mapa. Procura pelos objetos usando o mapa, quando há uma referência para eles.

27- Mapeador - Um objeto que estabelece uma comunicação entre dois objetos independentes.

28- Mapeador de Dados - Uma camada de Mapeadores que move dados entre objetos e um banco de dados enquanto os mantém independentes uns dos outros e do próprio mapeador.

29- Mapeadores de Herança - Uma estrutura para organizar mapeadores de banco de dados que tratam hierarquias de herança.

30- Mapeamento de Chave Estrangeira - Mapeia uma associação entre objetos para uma referência de chave estrangeira entre tabelas.

31- Mapeamento Dependente - Faz uma classe executar o mapeamento no banco de dados de uma classe filha.

32- Mapeamento em Metadados - Armazena os detalhes do mapeamento objeto-relacional em metadados.

33- Mapeamento de Tabela Associativa - Grava uma associação com uma tabela com chaves estrangeiras para as tabelas que estejam vinculadas pela associação.

34- Modelo de Domínio - Um modelo de objetos do domínio que incorpora tanto o comportamento quanto os dados.

35- Modelo Vista Controlador - Divide a interação da interface com o usuários em três papéis distintos.

36- Módulo Tabela - Uma instância única que trata a lógica de negócio para todas as linhas de uma tabela ou visão em um banco de dados.

37- Objeto de Pesquisa - Um objeto que representa uma consulta ao banco de dados.

38- Objeto de Transferência de Dados - Um objeto que transporta dados entre processos de modo a reduzir o número de chamadas de métodos.

39- Objeto Valor - Um objeto pequeno e simples, como dinheiro ou um intervalo de datas, cuja igualdade não é baseada em identidade.

40- Plugin - Conecta classes durante a configuração, em ves de na compilação.

41- Registro - Um objeto conhecido que outros objetos podem usar para encontrar objetos e serviços comuns.

42- Registro Ativo - Um objeto que encapsula uma linha, em uma tabela ou visão de um banco de dados e o acesso ao banco de dados e adiciona lógica de domínio a esses dados. (meio estranho, mais é a copia fiel).

43- Repositorio - Faz a medição entre as camadas de domínio e de mapeamento de dados usando uma interface do tipo coleção para acessar os objetos do domínio.

44- Roteiro de Transação - Organiza a lógica de negócio em procedientos em que cada procedimento trata uma única solicitação da apresentação.

45- Strub de Serviço - Remove a dependência de serviços problemáticos drante os testes.

46- Unidade de Trabalho - Mantém uma lista de objetos afetados por um transação de negócio e coordena a gravação das alterações e a resolução de problemas de concorrência.

47- Valor Embutido - Mapeia um objeto em diversos campos da tabela de outro objeto.

48- Vista de Transformação - Uma visão que processa dados do domínio elemento por elemento e os transforma em HTML.

49- Vista em Duas Etapas - Transforma dados do domínio em HTML, em duas etapas: primeiro, formando algum tipo de página lógica e, depois, representando essa página lógica em HTML.

50- Vista Padrão - Representa informações em HTML, inserindo marcadores em uma página HTML.

Aqui http://martinfowler.com/eaaCatalog/index.html vc tem a lista dos padrões. Acho que dá para começar.

Vou dar uma tentada…

1- Bloqueio de Granularidade Alta - Coarse Grained Lock

2- Bloqueio Implícito -Implicit Lock

3- Bloqueio Offline Otimista - Optimistic Offline Lock

4- Bloqueio Offline Pessimista -Pessimistic Offline Lock

5- Camada de Serviço - ServiceLayer

6- Camada Supertipo - LayerSupertype

7- Campo Identidade - Identity Field

8- Carga Tardia - LazyLoad

9- Caso Especial - SpecialCase

10- Conjunto de Registros - RecordSet

11- Controlador de Aplicação - Application Controller

12- Controlador de Página - PageController

13- Controlador Frontal - FrontController

14- Dinheiro - Money

15- Estado de Sessão no Banco de Dados - Database Session State

16- Estado de Sessão no Cliente - Cliente Session State

17- Estado de Sessão no Servidor - Server Session State

18- Fachada Remota - Remote Façade

19- Gateway - Gateway : este é fácil

20- Gateway de Linha de Dados - Row Gateway

20- Gateway de Tabela de Dados - Table Gateway

21- Herança de Tabela Concreta - Concrete Table Inheritance

22- Herança de Tabela de Classes - Class Table Inheritance

23- Herança de Tabela Única - Single Table Inheritance

24- Interface Separada - Separated Interface

25- LOB Serializado - Serialized LOB

26- Mapa de Identidade - IdentityMap

27- Mapeador - Mapper

28- Mapeador de Dados - Data Mapper

29- Mapeadores de Herança - Inheritance Mappers

30- Mapeamento de Chave Estrangeira - Foreign Key Mapping

31- Mapeamento Dependente - Dependent Mapping

32- Mapeamento em Metadados - Metadata Mapping

33- Mapeamento de Tabela Associativa - Association Table Mapping

34- Modelo de Domínio - Domain Model

35- Modelo Vista Controlador - Model View Controller

36- Módulo Tabela - Table Module

37- Objeto de Pesquisa - QueryObject

38- Objeto de Transferência de Dados - Data Transfer Object ( DTO)

39- Objeto Valor - Value Object (VO)

40- Plugin - Plugin , outra fácil

41- Registro - Registry

42- Registro Ativo - ActiveRecord

43- Repositorio - Repository

44- Roteiro de Transação - Transaction Script

45- Strub de Serviço - Service Strub

46- Unidade de Trabalho - UnitOfWork

47- Valor Embutido - Embedded Value

48- Vista de Transformação - Transform View

49- Vista em Duas Etapas - Two-Step View

50- Vista Padrão - Template View

No geral é a tradução explicita do inglês e bem perto do que o Fowler definiu com alguns erros como modulo em vem de modelo por exemplo… nada de grave.

Po, mas tá tudo no site do Fowler! Acho que o problema da tradução NÃO ESTÁ nos aspectos traduzidos em sí e, sim no contexto. Pior que o CORE JSF ed1 em tradução não deve ser!

o livro é bom, mais é muito risco ler ele traduzido… confiar em quem traduziu… coragem heim… tem algumas traduções que consegimos empurrar tem outras que nao.

passa o link do livro ai, gostei da abordagem e ainda sendo do fowler… tenho um livro dele(Retoração) traduzido pela bookman que está show ate o momento consulto o original e nao há diferenças nenhuma.

Eu lembro que eu cheguei a comprar o livro em portugês pois não queria esperar a entrega da amazon. Quando eu vi a tosqueira que tava a tradução (como sempre), tratei de vende-lo e comprei em inglês. Só compro em português agora se o autor for nacional, pois nesse caso não terei problemas.

Fora os erros de português…

Fora os erros de português…[/quote]

sao menores que os erros das traduções :smiley: