Submit Search
Upload
Simplify Code for Agility and Simplicity
•
0 likes
•
185 views
AI-enhanced title
Dev.by
Follow
Agile в управлении и разработке ПО
Read less
Read more
Business
Report
Share
Report
Share
1 of 113
Download now
Download to read offline
Recommended
Piaget04
Piaget04
Mirian Gregori
111020 Ingrid von Löwis
111020 Ingrid von Löwis
Towarzystwo Polsko-Niemieckie w Rzeszowie
WSEAS2011
WSEAS2011
Masoud Y. Zadeh
Creer votre-entreprise
Creer votre-entreprise
sihamb
Capacitación Educación inclusiva
Capacitación Educación inclusiva
Natalia Bogado
ภาษาไทย50
ภาษาไทย50
Jaruwan Kuangkum
O curso de Engenharia de Automação e o seu ensino na FURG
O curso de Engenharia de Automação e o seu ensino na FURG
Ygor Aguiar
баратынский. она
баратынский. она
agrashhenkova
Recommended
Piaget04
Piaget04
Mirian Gregori
111020 Ingrid von Löwis
111020 Ingrid von Löwis
Towarzystwo Polsko-Niemieckie w Rzeszowie
WSEAS2011
WSEAS2011
Masoud Y. Zadeh
Creer votre-entreprise
Creer votre-entreprise
sihamb
Capacitación Educación inclusiva
Capacitación Educación inclusiva
Natalia Bogado
ภาษาไทย50
ภาษาไทย50
Jaruwan Kuangkum
O curso de Engenharia de Automação e o seu ensino na FURG
O curso de Engenharia de Automação e o seu ensino na FURG
Ygor Aguiar
баратынский. она
баратынский. она
agrashhenkova
Non scioperiamo per la quattordicesima! Banchieri, bancari, disoccupati e qua...
Non scioperiamo per la quattordicesima! Banchieri, bancari, disoccupati e qua...
Fisac-Cgil Varese
Tese de doutorado percepção riscos
Tese de doutorado percepção riscos
João Siqueira da Mata
Παρουσίαση "Μεσαιωνικού Ρόδου"
Παρουσίαση "Μεσαιωνικού Ρόδου"
Poeessa Thematic Events
Residualincome
Residualincome
Alan Johnston
강재정 송현주 2011 컴퓨터 인지증지프로그램 학습능력향상
강재정 송현주 2011 컴퓨터 인지증지프로그램 학습능력향상
혜원 정
Presentación A+ MAI rev 25 02 11
Presentación A+ MAI rev 25 02 11
wichyfly
Research Guide in MGTME(201605)
Research Guide in MGTME(201605)
yeon0517
Harvey Wheaton's Agile Gardening
Harvey Wheaton's Agile Gardening
Mind the Product
Reframing
Reframing
Aprendizaje Libre
2010 Bonnie Plants Trial Garden
2010 Bonnie Plants Trial Garden
BonniePlants
10.0 L'era del cambiamento
10.0 L'era del cambiamento
Legambiente Onlus
Http _lapatriaenlinea_com__nota=141959
Http _lapatriaenlinea_com__nota=141959
ROLYHUARI
Assignment 1 - Essay
Assignment 1 - Essay
Kai Yun Pang
Beyrut Solidere Projesi
Beyrut Solidere Projesi
Keteninsaat
Toxicos en alimentos.
Toxicos en alimentos.
Jhon Rogel
#SICturisme Karen Sikkema presents Lost in Time by Tempeest
#SICturisme Karen Sikkema presents Lost in Time by Tempeest
UpSocial
TechFuse 2012: Rich Coexistence
TechFuse 2012: Rich Coexistence
Avtex
Simplicity
Simplicity
Agile Lietuva
Clean code, Feb 2012
Clean code, Feb 2012
cobyst
CQRS recepies
CQRS recepies
Francesco Garavaglia
Clean Code - Writing code for human
Clean Code - Writing code for human
NETKO Solution
Managing Complexity in Salesforce, David Felkel
Managing Complexity in Salesforce, David Felkel
CzechDreamin
More Related Content
Viewers also liked
Non scioperiamo per la quattordicesima! Banchieri, bancari, disoccupati e qua...
Non scioperiamo per la quattordicesima! Banchieri, bancari, disoccupati e qua...
Fisac-Cgil Varese
Tese de doutorado percepção riscos
Tese de doutorado percepção riscos
João Siqueira da Mata
Παρουσίαση "Μεσαιωνικού Ρόδου"
Παρουσίαση "Μεσαιωνικού Ρόδου"
Poeessa Thematic Events
Residualincome
Residualincome
Alan Johnston
강재정 송현주 2011 컴퓨터 인지증지프로그램 학습능력향상
강재정 송현주 2011 컴퓨터 인지증지프로그램 학습능력향상
혜원 정
Presentación A+ MAI rev 25 02 11
Presentación A+ MAI rev 25 02 11
wichyfly
Research Guide in MGTME(201605)
Research Guide in MGTME(201605)
yeon0517
Harvey Wheaton's Agile Gardening
Harvey Wheaton's Agile Gardening
Mind the Product
Reframing
Reframing
Aprendizaje Libre
2010 Bonnie Plants Trial Garden
2010 Bonnie Plants Trial Garden
BonniePlants
10.0 L'era del cambiamento
10.0 L'era del cambiamento
Legambiente Onlus
Http _lapatriaenlinea_com__nota=141959
Http _lapatriaenlinea_com__nota=141959
ROLYHUARI
Assignment 1 - Essay
Assignment 1 - Essay
Kai Yun Pang
Beyrut Solidere Projesi
Beyrut Solidere Projesi
Keteninsaat
Toxicos en alimentos.
Toxicos en alimentos.
Jhon Rogel
#SICturisme Karen Sikkema presents Lost in Time by Tempeest
#SICturisme Karen Sikkema presents Lost in Time by Tempeest
UpSocial
TechFuse 2012: Rich Coexistence
TechFuse 2012: Rich Coexistence
Avtex
Viewers also liked
(17)
Non scioperiamo per la quattordicesima! Banchieri, bancari, disoccupati e qua...
Non scioperiamo per la quattordicesima! Banchieri, bancari, disoccupati e qua...
Tese de doutorado percepção riscos
Tese de doutorado percepção riscos
Παρουσίαση "Μεσαιωνικού Ρόδου"
Παρουσίαση "Μεσαιωνικού Ρόδου"
Residualincome
Residualincome
강재정 송현주 2011 컴퓨터 인지증지프로그램 학습능력향상
강재정 송현주 2011 컴퓨터 인지증지프로그램 학습능력향상
Presentación A+ MAI rev 25 02 11
Presentación A+ MAI rev 25 02 11
Research Guide in MGTME(201605)
Research Guide in MGTME(201605)
Harvey Wheaton's Agile Gardening
Harvey Wheaton's Agile Gardening
Reframing
Reframing
2010 Bonnie Plants Trial Garden
2010 Bonnie Plants Trial Garden
10.0 L'era del cambiamento
10.0 L'era del cambiamento
Http _lapatriaenlinea_com__nota=141959
Http _lapatriaenlinea_com__nota=141959
Assignment 1 - Essay
Assignment 1 - Essay
Beyrut Solidere Projesi
Beyrut Solidere Projesi
Toxicos en alimentos.
Toxicos en alimentos.
#SICturisme Karen Sikkema presents Lost in Time by Tempeest
#SICturisme Karen Sikkema presents Lost in Time by Tempeest
TechFuse 2012: Rich Coexistence
TechFuse 2012: Rich Coexistence
Similar to Simplify Code for Agility and Simplicity
Simplicity
Simplicity
Agile Lietuva
Clean code, Feb 2012
Clean code, Feb 2012
cobyst
CQRS recepies
CQRS recepies
Francesco Garavaglia
Clean Code - Writing code for human
Clean Code - Writing code for human
NETKO Solution
Managing Complexity in Salesforce, David Felkel
Managing Complexity in Salesforce, David Felkel
CzechDreamin
Growing Software and Growing Ourselves
Growing Software and Growing Ourselves
Daniel Parkin
Quick & Easy SQL Tips
Quick & Easy SQL Tips
Ike Ellis
The View - The top 30 Development tips
The View - The top 30 Development tips
Bill Buchan
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)
David Benjamin
Quick & Easy SQL Tips
Quick & Easy SQL Tips
Ike Ellis
Sea spin5 2013-notes
Sea spin5 2013-notes
Jeff Smith
Software design - Write solid software with the ideal chalk
Software design - Write solid software with the ideal chalk
Alejandro Claro Mosqueda
Dev buchan 30 proven tips
Dev buchan 30 proven tips
Bill Buchan
Essential Complexity in Systems Architecture
Essential Complexity in Systems Architecture
Mark Mishaev
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
Uwe Friedrichsen
Concepts of Clean Code adapted for JavaScript - Tech'n'Drinks @myposter
Concepts of Clean Code adapted for JavaScript - Tech'n'Drinks @myposter
myposter GmbH
How to Achieve Scale with MongoDB
How to Achieve Scale with MongoDB
MongoDB
YAGNI Principle and Clean Code
YAGNI Principle and Clean Code
Luan Reffatti
Don't let your tests slow you down
Don't let your tests slow you down
Daniel Irvine
Code Excellence for the Average Programmer
Code Excellence for the Average Programmer
Llewellyn Falco
Similar to Simplify Code for Agility and Simplicity
(20)
Simplicity
Simplicity
Clean code, Feb 2012
Clean code, Feb 2012
CQRS recepies
CQRS recepies
Clean Code - Writing code for human
Clean Code - Writing code for human
Managing Complexity in Salesforce, David Felkel
Managing Complexity in Salesforce, David Felkel
Growing Software and Growing Ourselves
Growing Software and Growing Ourselves
Quick & Easy SQL Tips
Quick & Easy SQL Tips
The View - The top 30 Development tips
The View - The top 30 Development tips
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)
Quick & Easy SQL Tips
Quick & Easy SQL Tips
Sea spin5 2013-notes
Sea spin5 2013-notes
Software design - Write solid software with the ideal chalk
Software design - Write solid software with the ideal chalk
Dev buchan 30 proven tips
Dev buchan 30 proven tips
Essential Complexity in Systems Architecture
Essential Complexity in Systems Architecture
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
Concepts of Clean Code adapted for JavaScript - Tech'n'Drinks @myposter
Concepts of Clean Code adapted for JavaScript - Tech'n'Drinks @myposter
How to Achieve Scale with MongoDB
How to Achieve Scale with MongoDB
YAGNI Principle and Clean Code
YAGNI Principle and Clean Code
Don't let your tests slow you down
Don't let your tests slow you down
Code Excellence for the Average Programmer
Code Excellence for the Average Programmer
More from Dev.by
Copiny_Pivot case. Dev Generation
Copiny_Pivot case. Dev Generation
Dev.by
Финансовая модель стартапа. Dev Generation
Финансовая модель стартапа. Dev Generation
Dev.by
От идеи к продукту. Dev Generation
От идеи к продукту. Dev Generation
Dev.by
Стратегия продаж. Dev Generation
Стратегия продаж. Dev Generation
Dev.by
Эффективность неэффективности. Дорофеев
Эффективность неэффективности. Дорофеев
Dev.by
Эмоциональный интеллект. Минкевич, Бинецкая
Эмоциональный интеллект. Минкевич, Бинецкая
Dev.by
Социальные эффекты и ответсвенность. Климов
Социальные эффекты и ответсвенность. Климов
Dev.by
Потёмкинские Scrum деревни. Бережной
Потёмкинские Scrum деревни. Бережной
Dev.by
Модели командообразования. Орлов, Панкратов
Модели командообразования. Орлов, Панкратов
Dev.by
Метод критической цепи. Дорофеев
Метод критической цепи. Дорофеев
Dev.by
Как козаки для больших Agile организации инструменты выбирали. Кудин
Как козаки для больших Agile организации инструменты выбирали. Кудин
Dev.by
Когда Гарри встретил Салли. Издебский
Когда Гарри встретил Салли. Издебский
Dev.by
Как мы сделали 1000 сотрудников счастливее. Кузнецов
Как мы сделали 1000 сотрудников счастливее. Кузнецов
Dev.by
Гибкое нагрузочное тестирование. Круковский
Гибкое нагрузочное тестирование. Круковский
Dev.by
Software craftsmanship. Sizovs
Software craftsmanship. Sizovs
Dev.by
Situational awareness. Москаленко
Situational awareness. Москаленко
Dev.by
Empowering employees with agile values. Thoren
Empowering employees with agile values. Thoren
Dev.by
Dead zone. Прохоренко
Dead zone. Прохоренко
Dev.by
Cultural transformation. Москаленко
Cultural transformation. Москаленко
Dev.by
Agile special forces. Прохоренко
Agile special forces. Прохоренко
Dev.by
More from Dev.by
(20)
Copiny_Pivot case. Dev Generation
Copiny_Pivot case. Dev Generation
Финансовая модель стартапа. Dev Generation
Финансовая модель стартапа. Dev Generation
От идеи к продукту. Dev Generation
От идеи к продукту. Dev Generation
Стратегия продаж. Dev Generation
Стратегия продаж. Dev Generation
Эффективность неэффективности. Дорофеев
Эффективность неэффективности. Дорофеев
Эмоциональный интеллект. Минкевич, Бинецкая
Эмоциональный интеллект. Минкевич, Бинецкая
Социальные эффекты и ответсвенность. Климов
Социальные эффекты и ответсвенность. Климов
Потёмкинские Scrum деревни. Бережной
Потёмкинские Scrum деревни. Бережной
Модели командообразования. Орлов, Панкратов
Модели командообразования. Орлов, Панкратов
Метод критической цепи. Дорофеев
Метод критической цепи. Дорофеев
Как козаки для больших Agile организации инструменты выбирали. Кудин
Как козаки для больших Agile организации инструменты выбирали. Кудин
Когда Гарри встретил Салли. Издебский
Когда Гарри встретил Салли. Издебский
Как мы сделали 1000 сотрудников счастливее. Кузнецов
Как мы сделали 1000 сотрудников счастливее. Кузнецов
Гибкое нагрузочное тестирование. Круковский
Гибкое нагрузочное тестирование. Круковский
Software craftsmanship. Sizovs
Software craftsmanship. Sizovs
Situational awareness. Москаленко
Situational awareness. Москаленко
Empowering employees with agile values. Thoren
Empowering employees with agile values. Thoren
Dead zone. Прохоренко
Dead zone. Прохоренко
Cultural transformation. Москаленко
Cultural transformation. Москаленко
Agile special forces. Прохоренко
Agile special forces. Прохоренко
Recently uploaded
Pitch Deck Teardown: NOQX's $200k Pre-seed deck
Pitch Deck Teardown: NOQX's $200k Pre-seed deck
HajeJanKamps
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
KeppelCorporation
The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024
christinemoorman
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
lizamodels9
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for Success
Aggregage
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
divyansh0kumar0
Progress Report - Oracle Database Analyst Summit
Progress Report - Oracle Database Analyst Summit
Holger Mueller
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
lizamodels9
India Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample Report
Mintel Group
Marketing Management Business Plan_My Sweet Creations
Marketing Management Business Plan_My Sweet Creations
nakalysalcedo61
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
ashishs7044
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detail
Ariel592675
2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage
Neil Kimberley
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
callgirls2057
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
pollardmorgan
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
dollysharma2066
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman Leech
Newman George Leech
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
ictsugar
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 Edition
Mintel Group
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
dollysharma2066
Recently uploaded
(20)
Pitch Deck Teardown: NOQX's $200k Pre-seed deck
Pitch Deck Teardown: NOQX's $200k Pre-seed deck
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for Success
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
VIP Kolkata Call Girl Howrah 👉 8250192130 Available With Room
Progress Report - Oracle Database Analyst Summit
Progress Report - Oracle Database Analyst Summit
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
India Consumer 2024 Redacted Sample Report
India Consumer 2024 Redacted Sample Report
Marketing Management Business Plan_My Sweet Creations
Marketing Management Business Plan_My Sweet Creations
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
8447779800, Low rate Call girls in Shivaji Enclave Delhi NCR
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detail
2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Call Us 📲8800102216📞 Call Girls In DLF City Gurgaon
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
Call Girls in DELHI Cantt, ( Call Me )-8377877756-Female Escort- In Delhi / Ncr
RE Capital's Visionary Leadership under Newman Leech
RE Capital's Visionary Leadership under Newman Leech
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Market Sizes Sample Report - 2024 Edition
Market Sizes Sample Report - 2024 Edition
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
Simplify Code for Agility and Simplicity
1.
simplicity 0.3 Osvaldas Grigas o.grigas@gmail.com
2.
complexity 0.3 Osvaldas Grigas o.grigas@gmail.com
3.
inspired by Dan North Rich Hickey J.B. Rainsberger Michael Feathers
4.
Edsger Dijkstra (1980) Computing's central
challenge, "How not to make a mess of it", has not been met.
5.
agile
6.
agile continuous improvement based on
frequent feedback
7.
iterative development
8.
9.
10.
11.
12.
13.
incremental development
14.
15.
16.
17.
18.
19.
20.
DONE
21.
embrace the transient
nature of your code
22.
Russ Miles Complexity is
the silent killer of delivering change at the right time.
23.
simplicity is prerequisite
for agility
24.
what is simplicity
?
25.
Nothing is more
simple than a single giant button MacBook Wheel
26.
what "simple" isn’t
...
27.
what "simple" isn’t
... familiar / convenient
28.
what "simple" isn’t
... familiar / convenient small / concise
29.
what "simple" isn’t
... familiar / convenient small / concise beautiful / elegant
30.
31.
“Simplicity -- the
art of maximizing the amount of work not done -- is essential.” from the agile principles
32.
YAGNI from the agile
principles “Simplicity -- the art of maximizing the amount of work not done -- is essential.”
33.
“Technical excellence and good
design enhances agility.” from the agile principles
34.
Martin Fowler Design is
there to enable you to keep changing the software easily.
35.
when it comes
to design ...
36.
COMPLEXITY SUCKS SIMPLICITY RULES
37.
COMPLEXITY SUCKS ...
38.
COMPLEXITY SUCKS ... …
your brain power
39.
COMPLEXITY SUCKS ... …
your brain power
40.
Rich Hickey Once your
software is of a certain size, complexity is gonna dominate what you can do.
41.
42.
43.
essential complexity
44.
essential complexity your code
45.
essential complexity your codelibraries frameworks
46.
essential complexity language runtime your codelibraries frameworks
47.
accidental complexity essential complexity
48.
SIMPLICITY RULES ...
49.
SIMPLICITY RULES ... …
are …
50.
SIMPLICITY RULES ... …
are … The 4 Rules of Simple Design
51.
SIMPLICITY RULES ... …
are … The 4 Rules of Simple Design 1) passes all tests
52.
SIMPLICITY RULES ... …
are … The 4 Rules of Simple Design 1) passes all tests 2) clear, expressive names
53.
SIMPLICITY RULES ... …
are … The 4 Rules of Simple Design 1) passes all tests 2) clear, expressive names 3) no duplication
54.
SIMPLICITY RULES ... …
are … The 4 Rules of Simple Design 1) passes all tests 2) clear, expressive names 3) no duplication 4) minimal
55.
rule #4: minimal
56.
the less code, the
better
57.
code folding
58.
code generators
59.
dependency managers
60.
stop typing. think!
61.
test-first (TDD / BDD)
62.
rule #3: no
duplication
63.
primitive obsession duplication in
behavior
64.
data clump duplication in
structure
65.
refactoring
66.
rule #2: clear,
expressive names
67.
small, focused methods reduce
cyclomatic complexity
68.
small, focused classes single
responsibility
69.
AccountService AccountManager AccountHandler AccountUtils AccountHelper AccountImpl AccountData AccountDTO AccountInfo AccountDetails AccountObject AbstractAccount BaseAccount CustomAccount SimpleAccount
70.
refactoring
71.
rule #1: passes
all tests
72.
unit testing
73.
testability & good
design
74.
testability & good
design (but not integration tests)
75.
inheritance-based design
76.
wget -qO- http://c2.com/
| tr -cs '[:alpha:]' 'n' | sort | uniq composition
77.
dependencies
78.
auto-import
79.
refactoring tools
80.
A G F D C introduce indirection
81.
A B E G F D C introduce indirection
82.
A B E G F D C follow the law
of Demeter introduce indirection
83.
modularity
84.
coupling
85.
add an interface?
86.
layered architectures
87.
add remoting? SOAP
88.
enterprise grade decoupling? ESB
89.
enterprise grade decoupling? ESB assumptions assumptions
90.
interface segregation
91.
tell, don’t ask high
cohesion
92.
dependency inversion role
93.
anti-corruption layer adapter role
94.
notify Payment Order Auditor Financial Event Listener Mongo Audit Trail log Audit Trail Mongo Audit Records insert
95.
Payment Order Audit DAO Audit DAO Impl insert
96.
further decoupling queue publish subscribe
97.
use cases & business
rules framework persistence framework web DB infrastructure messaging QUEUE task scheduler WS
98.
Domain Logic Framework Framework
99.
Domain Logic Domain Logic Framework Framework accidental complexity complexity leak
100.
@Entity @Table(name = "orders",
schema = "com"}) public class Order implements Serializable { @Id @GeneratedValue(strategy = SEQUENCE, generator = "order_seq") @Column(name = "ID", unique = true, nullable = false) private Integer id; @Column(name = "NUMBER", nullable = false, length = 8) private String number; @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) @JoinTable(name = "order_items", catalog = "com", joinColumns = {@JoinColumn(name = "ORDER_ID", updatable = false, nullable = false)}, inverseJoinColumns = {@JoinColumn(name = "ITEM_ID", updatable = false, nullable = false)}) private Set<Item> items = new HashSet<Item>(); }
101.
the law of
leaky abstractions
102.
home-grown frameworks
103.
libraries
104.
state & side effects
105.
values & pure functions
106.
functional style imperative
style
107.
functional style expressions imperative style statements
108.
functional style expressions immutable values imperative
style statements mutable state
109.
functional style expressions immutable values data
transformations imperative style statements mutable state side effects
110.
functional style expressions immutable values data
transformations recursion & polymorphism imperative style statements mutable state side effects looping & branching
111.
stepping out of comfort
zone
112.
Edsger Dijkstra (1980) Computing's central
challenge, "How not to make a mess of it", has not been met.
113.
I‘m done
Download now