Cursos
Local e horário das aulas
- 6as-feiras, das 18:20h às 21:30h, no Pavilhão de Informática, lab. 04
Objetivos
Apresentar uma introdução aos conceitos, modelos, métodos, técnicas relacionados a arquiteturas e padrões de software.
Ementa
Introdução aos conceitos de padrão de software e arquitetura de software; padrões para organizar a arquitetura de aplicações corporativas, padrões de projeto (design patterns): GoF; JEE; padrões da abordagem Domain Driven Design (DDD).
Veja também o plano de ensino da disciplina.
Moodle
Todos os alunos regularmente inscritos estão adicionados à disciplina homônima no Moodle, para que possam receber avisos importantes (dia/horário das provas, dúvidas gerais, submissões dos trabalhos, etc).
Aulas
Veja também o plano de curso da disciplina e o calendário acadêmico das graduações do CEFET/RJ.
Aula | Data | Comentário | Leitura/Tarefa |
1 | 15/fev | Apresentação da disciplina (APS00) Arquitetura de aplicações corporativas (APS01a) Camadas típicas de uma aplicação corporativa (APS01b) |
Who needs an architect The Big Ball of Mud… Creating Business Value… Architecture without architects (video) |
2 | 15/mar | Organização da camada da aplicação (APS02) Organização da lógica do domínio (APS03) |
Service Layer How essential is it to make a service layer? SCA (github) |
3 | 22/mar | Introdução ao DDD (APS04) Padrões táticos do DDD (APS05) Estudo de caso: biblioteca PeriodoLetivo.java |
Services in Domain-Driven Design DDD: Tactical Design Patterns Livro DDD – capítulo 1 |
4 | 29/mar | Implementação de objetos da camada do domínio (APS06) Venda-ItemVenda, ValidadorQuantidadeCreditosService |
Validador ISBN Repositories in App or Domain Services |
5 | 05/abr | Revisão: API Reflection de Java; Anotações em Java. | SOLID software design classes |
6 | 12/abr | Organização da lógica de acesso a dados (APS07) Spring Data JPA (APS07.a) Tutorial: Spring Data JPA |
Simple Spring Data JPA Example Repository vs DAO |
7 | 26/abr | Reservada para dúvidas acerca da P1 e do T1 | |
8 | 03/mai | P1 – Primeira Avaliação Semestral | |
9 | 10/mai | GoF – visão geral (APS08); GoF (APS09): Singleton, Composite, Façade, Adapter, Strategy, Iterator | exemplos, DemoAdapter.zip, DemoTemplateMethod.zip |
10 | 17/mai | GoF (APS10): Template Method, Decorator, Prototype | leitura, FastFoodDecorator, DemoObserver.zip, T1 e frequência |
11 | 24/mai | GoF (APS10): State, Observer, Memento | |
12 | 31/mai | GoF (APS14): Factory Method, Abstract Factory, Chain of Responsility | |
7 | 07/jun | Reservada para dúvidas acerca da P2 e do T2 | |
13 | 14/jun | P2 – Segunda Avaliação Semestral Avaliação do curso: formulário |
Trabalhos práticos
Ferramentas, bibliotecas e frameworks utilizados
- Eclipse
- Apache Tomcat
- HSQLDB
- Astah
- Hibernate/JPA
- Spring
- JavaLite
- Google Guice
- JUnit (veja também: NUnit, PHPUnit)
Sites relevantes
- Sistema de Controle Acadêmico
- CodeCity
- oodesign (descrição online dos padrões GoF)
- Java Practices
- Refactoring Online Catalog
- Hibernate
- Object Orientation Tips
- Design Patterns Library
- Core J2EE Patterns
- DDD Sample Application
- SONAR
- Javapostsforlearning
- AntiPatterns
- JUnit + maven
- Princípio da Inversão de Dependência
- Serving Web Content with Spring MVC
Autores
Livros, artigos e mais informações relevantes
- Java Persistence
- GoF Design Patterns – With Examples Using Java and UML2, 2008. (e-book gratuito)
- Thinking in Java, 3th edition, Bruce Eckel (gratuito).
- Thinking in Patterns with Java, Bruce Eckel (gratuito).
- Domain Driven Design Quickly, Abel Avram & Floyd Marinescu (e-book gratuito)
- Dependency Injection (green paper)
- How simple analysis patterns can be of benefit to software developers (2009)
- Object-Oriented Application Frameworks
- Design Patterns Reference Card
- Refactoring To Patterns
- POSA Book, Volume 1