Aprendendo Padrões de Projeto em Python

Tire proveito da eficácia dos padrões de projeto (design patterns) em Python para resolver problemas do mundo real em arquitetura e design de software

Aprendendo Padrões de Projeto em Python Somente ebook
× Aprendendo Padrões de Projeto em Python

Aprendendo Padrões de Projeto em Python

Compartilhar

Autor: Chetan Giridhar

ISBN impresso: 978-85-7522-523-3
ISBN ebook: 978-65-8605-715-7
Ano: 2016
Páginas: 168
Preço: R$ 64,00

6 opiniões | Opine sobre este livro

Descrição do livro

Com um foco cada vez maior na otimização dos níveis de arquitetura e design de software, é importante que os arquitetos de software pensem em otimizações na criação de objetos, na estrutura do código e na interação entre objetos nesses níveis. Isso garante que o custo da manutenção de software seja baixo e o código seja facilmente reutilizado ou adaptável a mudanças.

Aprendendo padrões de projeto em Python ajudará você a implementar cenários do mundo real com a versão mais recente de Python, a v3.5. Começaremos apresentando os padrões de projeto do ponto de vista de Python. À medida que avançar no livro, você conhecerá os padrões Singleton, Factory e Façade em detalhes. Depois disso, veremos como controlar o acesso a objetos com o padrão Proxy. O livro também inclui os padrões Observer, Command e Compound. Ao chegar ao final desta obra, você terá melhorado suas habilidades profissionais em arquitetura, design e desenvolvimento de software.

Para quem este livro foi escrito

Este livro foi escrito para arquitetos de software e desenvolvedores de aplicações Python apaixonados por design de software. Ele será muito útil para engenheiros com nível inicial de proficiência em Python que amam trabalhar com Python 3.5.

O que você aprenderá com este livro

  • Aperfeiçoar suas habilidades para criar uma arquitetura melhor de software.

  • Entender soluções eficazes para problemas de design comuns.

  • Explorar os princípios de design que formam a base do design de software, como baixo acoplamento, o princípio de Hollywood e o princípio do aberto/fechado, entre outros.

  • Aprender como os conceitos de programação orientada a objetos são usados em aplicações de software.

  • Desenvolver uma compreensão sobre os padrões de projeto de criação bem como os diferentes métodos de criação de objetos que ajudam a resolver problemas em desenvolvimento de software.

  • Utilizar padrões de projeto estruturais e descobrir de que maneira os objetos e as classes interagem na construção de aplicações maiores.

  • A interação entre os objetos com os padrões Command e Observer.

  • Melhorar a produtividade e a base de código de sua aplicação usando padrões de projeto com Python.

Ver menos ▲

Sumário

  • Apresentação
  • Sobre o autor
  • Sobre o revisor
  • Prefácio
  • Capítulo 1 Introdução aos padrões de projeto
    • Compreendendo a programação orientada a objetos
      • Objetos
      • Classes
      • Métodos
    • Principais aspectos da programação orientada a objetos
      • Encapsulamento
      • Polimorfismo
      • Herança
      • Abstração
      • Composição
    • Princípios do design orientado a objetos
      • Princípio do aberto/fechado
      • Princípio da inversão de controle
      • Princípio da segregação de interfaces
      • Princípio da responsabilidade única
      • Princípio da substituição
    • Conceito de padrões de projeto
      • Vantagens dos padrões de projeto
      • Taxonomia dos padrões de projeto
      • Contexto – aplicabilidade dos padrões de projeto
    • Padrões para linguagens dinâmicas
    • Classificando os padrões
      • Padrões de criação
      • Padrões estruturais
      • Padrões comportamentais
    • Resumo
  • Capítulo 2 Padrão de projeto Singleton
    • Compreendendo o padrão de projeto Singleton
      • Implementando um Singleton clássico em Python
    • Instanciação preguiçosa no padrão Singleton
    • Singletons no nível de módulo
    • Padrão Singleton Monostate
    • Singletons e metaclasses
    • Um cenário do mundo real – o padrão Singleton, parte 1
    • Um cenário do mundo real – o padrão Singleton, parte 2
    • Desvantagens do padrão Singleton
    • Resumo
  • Capítulo 3 Padrão Factory – construindo fábricas para criar objetos
    • Compreendendo o padrão Factory
    • Padrão Simple Factory
    • Padrão Factory Method
      • Implementando o Factory Method
      • Vantagens do padrão Factory Method
    • Padrão Abstract Factory
      • Implementando o padrão Abstract Factory
    • Comparação entre Factory Method e Abstract Factory
    • Resumo
  • Capítulo 4 Padrão Façade – sendo adaptável com o Façade
    • Compreendendo os padrões de projeto estruturais
    • Compreendendo o padrão de projeto Façade
    • Um diagrama de classes UML
      • Façade
      • Sistema
      • Cliente
    • Implementando o padrão Façade no mundo real
    • Princípio do conhecimento mínimo
    • Perguntas frequentes
    • Resumo
  • Capítulo 5 Padrão Proxy – controlando o acesso a objetos
    • Compreendendo o padrão de projeto Proxy
    • Um diagrama de classes UML para o padrão Proxy
    • Compreendendo os diferentes tipos de proxies
      • Proxy virtual
      • Proxy remoto
      • Proxy de proteção
      • Proxy inteligente
    • Padrão Proxy no mundo real
    • Vantagens do padrão Proxy
    • Comparação entre os padrões Façade e Proxy
    • Perguntas frequentes
    • Resumo
  • Capítulo 6 Padrão Observer – de olho nos objetos
    • Introdução aos padrões comportamentais
    • Compreendendo o padrão de projeto Observer
      • Um diagrama de classes UML para o padrão Observer
    • Padrão Observer no mundo real
    • Modelos do padrão Observer
      • Modelo pull
      • Modelo push
    • Baixo acoplamento e o padrão Observer
    • Padrão Observer – vantagens e desvantagens
    • Perguntas frequentes
    • Resumo
  • Capítulo 7 Padrão Command – encapsulando chamadas
    • Introdução ao padrão Command
    • Compreendendo o padrão de projeto Command
      • Um diagrama de classes UML para o padrão Command
    • Implementando o padrão Command no mundo real
      • Considerações de design
    • Vantagens e desvantagens dos padrões Command
    • Perguntas frequentes
    • Resumo
  • Capítulo 8 Padrão Template Method – encapsulando algoritmos
    • Definindo o padrão Template Method
      • Compreendendo o padrão de projeto Template Method
      • Um diagrama de classes UML para o padrão Template Method
    • Padrão Template Method no mundo real
    • Padrão Template Method – hooks
    • Princípio de Hollywood e o Template Method
    • As vantagens e as desvantagens do padrão Template Method
    • Perguntas frequentes
    • Resumo
  • Capítulo 9 Modelo-Visão-Controlador – padrões compostos
    • Uma introdução aos padrões compostos
    • Padrão Modelo-Visão-Controlador
      • Modelo – conhecimento da aplicação
      • Visão – a aparência
      • Controlador – a cola
    • Um diagrama de classes UML para o padrão de projeto MVC
    • Padrão MVC no mundo real
      • Módulos
    • Vantagens do padrão MVC
    • Perguntas frequentes
    • Resumo
  • Capítulo 10 Padrão de projeto State
    • Definindo o padrão de projeto State
      • Compreendendo o padrão de projeto State
      • Compreendendo o padrão de projeto State com um diagrama UML
    • Um exemplo simples do padrão de projeto State
      • O padrão de projeto State com implementação em Python v3.5
    • Vantagens e desvantagens do padrão State
    • Resumo
  • Capítulo 11 Antipadrões
    • Uma introdução aos antipadrões
    • Antipadrões no desenvolvimento de software
      • Código espaguete
      • Martelo de Ouro
      • Fluxo de Lava
      • Programação do tipo copiar e colar ou cortar e colar
    • Antipadrões na arquitetura de software
      • Reinventando a roda
      • Vendor lock-in
      • Design by Committee
    • Resumo
Ver sumário completo ▼

Sobre o autor

Chetan Giridhar

Chetan Giridhar é líder de tecnologia, entusiasta de código aberto e desenvolvedor Python. Escreveu vários artigos sobre tecnologia e práticas de desenvolvimento em revistas como LinuxForYou e Agile Record e publicou artigos técnicos no periódico Python Papers. Já fez palestras nas conferências PyCon, como PyCon Índia, Ásia-Pacífico e Nova… Ver perfil completo ▶

Opinião dos leitores

José R M

Uma ótima ferramenta introdutória para o assunto de Design Patterns, linguagem clara e objetiva. Gostei bastante.

Washington D

Muito bom, vale a pena a leitura.

Sérgio B

Gostei muito do conteúdo, bem didático e direto ao ponto.

Moisés H R P

Ótimo livro! Explica de forma bem objetiva e clara o conceito de Padrões de Projeto, também os tipos e a respectiva codificação em Python. Dá para montar aulas sobre o assunto tomando o livro como base! xD

Ver todas ▼