Skip to content

Commit 4c24d99

Browse files
committed
Work on Hexagonal Architecture presentation
1 parent 6f3e298 commit 4c24d99

File tree

5 files changed

+97
-47
lines changed

5 files changed

+97
-47
lines changed

hexagonal/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ Allow an application to equally be driven by users, programs, automated test or
2323
## Applicability
2424
Use Hexagonal Architecture pattern when
2525

26-
* it is important that the application is fully testable
27-
* you use Domain Driven Design methodology and/or Microservices architectural style
26+
* When the application needs to be independent of any frameworks
27+
* When it is important that the application highly maintainable and fully testable
2828

2929
## Real world examples
3030

hexagonal/etc/hexagon.png

50.6 KB
Loading

hexagonal/etc/layers.png

15.5 KB
Loading

hexagonal/etc/presentation.html

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>Title</title>
5+
<meta charset="utf-8">
6+
<style>
7+
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
8+
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
9+
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
10+
11+
body { font-family: 'Droid Serif'; }
12+
h1, h2, h3 {
13+
font-family: 'Yanone Kaffeesatz';
14+
font-weight: normal;
15+
}
16+
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
17+
</style>
18+
</head>
19+
<body>
20+
<textarea id="source">
21+
22+
class: center, middle
23+
24+
# Hexagonal Architecture
25+
26+
---
27+
28+
# Also known as
29+
30+
* Ports and Adapters
31+
* Clean Architecture
32+
* Onion Architecture
33+
34+
---
35+
36+
# Layered architecture problems
37+
38+
* No clear application core
39+
* Business logic leaks to the presentation layer
40+
<br />
41+
<br />
42+
43+
.center[![Alt text](layers.png)]
44+
45+
---
46+
47+
# Intent
48+
49+
* Application can be driven by users, programs, automated test or batch scripts
50+
* Application can be developed and tested in isolation from its eventual run-time devices and databases
51+
52+
---
53+
54+
# Applicability
55+
56+
Use Hexagonal Architecture pattern
57+
58+
* When the application needs to be independent of any frameworks
59+
* When it is important that the application highly maintainable and fully testable
60+
61+
---
62+
63+
# Diagram
64+
65+
.center[![Alt text](hexagon.png)]
66+
67+
---
68+
69+
# Concepts
70+
71+
* Ports are interfaces
72+
* Adapters are implementations
73+
* Driver ports vs driven ports
74+
75+
---
76+
77+
# Real world examples
78+
79+
* [Apache Isis](https://isis.apache.org/)
80+
81+
---
82+
83+
# Implementation example
84+
85+
* http://java-design-patterns.com/patterns/hexagonal/
86+
87+
</textarea>
88+
<script src="https://gnab.github.io/remark/downloads/remark-latest.min.js">
89+
</script>
90+
<script>
91+
var slideshow = remark.create();
92+
</script>
93+
</body>
94+
</html>
95+

presentation.html

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)