From c744bf418a812c8fea50a67cf2dce8f454c09bac Mon Sep 17 00:00:00 2001 From: Sabiq Ihab Date: Fri, 30 Jun 2017 21:41:01 +0000 Subject: [PATCH] add README.md, cqrs.ucls and etc/cqrs.urm.puml --- cqrs/README.md | 29 ++++++++++ cqrs/etc/cqrs.png | Bin 0 -> 105666 bytes cqrs/etc/cqrs.ucls | 107 ++++++++++++++++++++++++++++++++++- cqrs/etc/cqrs.urm.puml | 124 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 259 insertions(+), 1 deletion(-) create mode 100644 cqrs/etc/cqrs.png create mode 100644 cqrs/etc/cqrs.urm.puml diff --git a/cqrs/README.md b/cqrs/README.md index e69de29bb..d7463715c 100644 --- a/cqrs/README.md +++ b/cqrs/README.md @@ -0,0 +1,29 @@ +--- +layout: pattern +title: CQRS +folder: cqrs +permalink: /patterns/cqrs/ +pumlid: +categories: Architectural +tags: + - Java + - Difficulty-Intermediate +--- + +## Intent +CQRS Command Query Responsibility Segregation - Seperate the query side from the command side. + +![alt text](./etc/cqrs.png "CQRS") + +## Applicability +Use the CQRS pattern when + +* you want to scale the queries and commands independently. +* you want to use different data models for queries and commands. Useful when dealing with complex domains. +* you want to use architectures like event sourcing or task based UI. + +## Credits + +* [Greg Young - CQRS, Task Based UIs, Event Sourcing agh!](http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683) +* [Martin Fowler - CQRS](http://codebetter.com/gregyoung/2010/02/16/cqrs-task-based-uis-event-sourcing-agh/) +* [Oliver Wolf - CQRS for Great Good](https://www.youtube.com/watch?v=Ge53swja9Dw) diff --git a/cqrs/etc/cqrs.png b/cqrs/etc/cqrs.png new file mode 100644 index 0000000000000000000000000000000000000000..28174bc9ab8ef388ca5142e26e54d0f9e3bab635 GIT binary patch literal 105666 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ℑLH=hIn`f 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 + associations="true" dependencies="false" nesting-relationships="true" router="FAN"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cqrs/etc/cqrs.urm.puml b/cqrs/etc/cqrs.urm.puml new file mode 100644 index 000000000..6dd65dd3a --- /dev/null +++ b/cqrs/etc/cqrs.urm.puml @@ -0,0 +1,124 @@ +@startuml +package com.iluwatar.cqrs.util { + class HibernateUtil { + - LOGGER : Logger {static} + - SESSIONFACTORY : SessionFactory {static} + + HibernateUtil() + - buildSessionFactory() : SessionFactory {static} + + getSessionFactory() : SessionFactory {static} + } +} +package com.iluwatar.cqrs.app { + class App { + + App() + + main(args : String[]) {static} + } +} +package com.iluwatar.cqrs.dto { + class Author { + - email : String + - name : String + - username : String + + Author() + + Author(name : String, email : String, username : String) + + equals(obj : Object) : boolean + + getEmail() : String + + getName() : String + + getUsername() : String + + hashCode() : int + + toString() : String + } + class Book { + - price : double + - title : String + + Book() + + Book(title : String, price : double) + + equals(obj : Object) : boolean + + getPrice() : double + + getTitle() : String + + hashCode() : int + + toString() : String + } +} +package com.iluwatar.cqrs.commandes { + class CommandServiceImpl { + - sessionFactory : SessionFactory + + CommandServiceImpl() + + authorCreated(username : String, name : String, email : String) + + authorEmailUpdated(username : String, email : String) + + authorNameUpdated(username : String, name : String) + + authorUsernameUpdated(oldUsername : String, newUsername : String) + + bookAddedToAuthor(title : String, price : double, username : String) + + bookPriceUpdated(title : String, price : double) + + bookTitleUpdated(oldTitle : String, newTitle : String) + - getAuthorByUsername(username : String) : Author + - getBookByTitle(title : String) : Book + } + interface ICommandService { + + authorCreated(String, String, String) {abstract} + + authorEmailUpdated(String, String) {abstract} + + authorNameUpdated(String, String) {abstract} + + authorUsernameUpdated(String, String) {abstract} + + bookAddedToAuthor(String, double, String) {abstract} + + bookPriceUpdated(String, double) {abstract} + + bookTitleUpdated(String, String) {abstract} + } +} +package com.iluwatar.cqrs.queries { + interface IQueryService { + + getAuthorBooks(String) : List {abstract} + + getAuthorBooksCount(String) : BigInteger {abstract} + + getAuthorByUsername(String) : Author {abstract} + + getAuthorsCount() : BigInteger {abstract} + + getBook(String) : Book {abstract} + } + class QueryServiceImpl { + - sessionFactory : SessionFactory + + QueryServiceImpl() + + getAuthorBooks(username : String) : List + + getAuthorBooksCount(username : String) : BigInteger + + getAuthorByUsername(username : String) : Author + + getAuthorsCount() : BigInteger + + getBook(title : String) : Book + } +} +package com.iluwatar.cqrs.domain.model { + class Author { + - email : String + - id : long + - name : String + - username : String + # Author() + + Author(username : String, name : String, email : String) + + getEmail() : String + + getId() : long + + getName() : String + + getUsername() : String + + setEmail(email : String) + + setId(id : long) + + setName(name : String) + + setUsername(username : String) + + toString() : String + } + class Book { + - author : Author + - id : long + - price : double + - title : String + # Book() + + Book(title : String, price : double, author : Author) + + getAuthor() : Author + + getId() : long + + getPrice() : double + + getTitle() : String + + setAuthor(author : Author) + + setId(id : long) + + setPrice(price : double) + + setTitle(title : String) + + toString() : String + } +} +Book --> "-author" Author +CommandServiceImpl ..|> ICommandService +QueryServiceImpl ..|> IQueryService +@enduml \ No newline at end of file