Тёмный

Applying DDD Beyond Object-Oriented Programming 

Continuous Delivery
Подписаться 203 тыс.
Просмотров 5 тыс.
50% 1

Eric Evans talks to Dave Farley about domain-driven design, applying it to object-oriented programming and bounded contexts in this clip from his appearance on the Engineering Room podcast.
This is a clip taken from Eric's FULL episode which you can watch HERE ➡️ • How AI Will Change Sof...
___________________________________________
🖇 LINKs
🔗 Eric on Twitter/X ➡️ @ericevans0
🔗 "Learn Design from the Experts" ➡️ www.domainlanguage.com
🔗 "Domain Driven Design", by Eric Evans ➡️ amzn.to/2WXJ94m
___________________________________________
🙏The Engineering Room series is SPONSORED BY EQUAL EXPERTS
Equal Experts is a product software development consultancy with a network of over 1,000 experienced technology consultants globally. They increase the pace of innovation by using modern software engineering practices that embrace Continuous Delivery, Security, and Operability from the outset ➡️ bit.ly/3ASy8n0
___________________________________________
#domaindrivendesign #objectorientedprogramming #softwareengineer

Наука

Опубликовано:

 

3 фев 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 17   
@edgeeffect
@edgeeffect 4 месяца назад
I've been watching some stuff recently... Ginger Bill talking about "Clean Code Vs performance" leaps immediately to mind... and it's interesting to hear here something of a counter to those arguments with talk of not abandoning abstractions all together but finding the RIGHT abstractions. I gotta have a look at the full episode when I've got the time.
@gabriellabankova5539
@gabriellabankova5539 4 месяца назад
Yes, thank you! DDD is about making business semantics clear. OOP is just a programming paradigm. They are completely separate, and DDD can and should be utilized much more across all sorts of languages, code styles and architectures.
@JasonSmith-dy5hj
@JasonSmith-dy5hj 4 месяца назад
Exactly , its that simple
@JaxVideos
@JaxVideos 4 месяца назад
The right 'meta-abstraction' here could be Type Theory. Where Eric asks about which containers belong in the selected set, he's saying there is a Type of container. I sometimes abandon high-level-languages to gain speed if I measure the actual bandwidths of certain algorithms to be smallish, but the abstractions build code for the most general cases thus wasting bandwidth, cache, or whatever the tight resource may be. Usually the language is failing to compile for the most economical choice of data types or else the library coders have no good means to inspect the data types on which the algorithms are being deployed. Abstraction says "hide details." But performance demands that we exploit domain-specific details. Type theoretic languages let you express details so that they can be statically analyzed. It then becomes safe and effective for abstractions to benefit from inspecting the black boxes on which they work.
@D4no00
@D4no00 4 месяца назад
nice story bro. Unless you are working in a industry/product where performance is absolutely critical, what you say makes absolutely no viable sense from the business perspective. Writing in rust, because you can gain 10% more performance but at the same time have 5x penalty on development speed is not a choice you will be praised for in the industry.
@JaxVideos
@JaxVideos 4 месяца назад
@@D4no00 I was a working computer scientist since 1978, implemented optimizing compilers, interpreters, and runtime libraries for vector & parallel languages on many hardware designs for Burroughs, SGI, Intel, and the Center for Supercomputing R&D. I've written a parallel prelinker for C++ template instantiations, a commercial SystemVerilog compiler used by Intel to design processors with 100s of millions of gates, everyone of which occupies a wad of virtual memory and figures into local and global optimizations of a circuit design. So I live and breathe the tension between abstraction costs, and the correctness burdens of abandonning abstraction to achieve performance goals. In the HDL compiler business, one bad tape-out costs $10M, and yet the expectation is for a 5-10% speed or capacity boost every release cycle. Believe me, if you take some moments to acquaint yourself with Homotopic Type Theory mathematics, you'll start to get insights into how to build better languages for provably correct code that can be correctly optimized at its compile time to whatever extent is economically feasible. Don't just learn programming languages, learn how to design them, and how to rewrite preserving correctness. Type Theory is the first system I've seen with fully flexible introspection that is devoted to data set definition. It is the language in which we reason about abstractions.
@MikeStock88
@MikeStock88 4 месяца назад
​​​@@D4no00yeah that's solving a problem that doesn't exist 😅 I find this is a problem in our industry where we overcomplicate things for no reason. You can make something ultra performant if you have a reason to do so
@D4no00
@D4no00 4 месяца назад
@@MikeStock88 tell me about it. I think a big reason why is the fact that the teachers/books we learned from, come from the age where hardware was extremely slow and expensive. Nowadays we have so much raw computing power, that development time is the biggest expense in all businesses. I like the quote by Joe Armstrong: Steps to creating good software: 1. Make it work; 2. Make it beautiful; 3. Make it performant if you need it.
@TonyWhitley
@TonyWhitley 4 месяца назад
"Get it working, *then* optimise it."
@esra_erimez
@esra_erimez 4 месяца назад
Is this not common sense? How have we got to a place where efficiency (as opposed to optimization) has taken a backseat?
@BertLaverman
@BertLaverman 4 месяца назад
Hah! Look at CPPCon presentations…
@danp8321
@danp8321 4 месяца назад
Yeah - assembly language hasn't been necessary for performance in most cases for a decade or more 🤦
@alexanderpodkopaev6691
@alexanderpodkopaev6691 4 месяца назад
'...you'll make it fast later' had become a mindset
@jimhumelsine9187
@jimhumelsine9187 4 месяца назад
"Common sense is not so common." - Voltaire
@elecorn
@elecorn 4 месяца назад
What seems "obvious" once discovered is not always easy to come by.
Далее
Where Agile Gets It Wrong
19:22
Просмотров 29 тыс.
TDD Is A BROKEN Practice
17:14
Просмотров 28 тыс.
FUN&SUN | Update 0.29.0 Trailer | Standoff 2
02:32
Просмотров 942 тыс.
Ozoda - JAVOHIR ( Official Music Video )
06:37
Просмотров 227 тыс.
This Is So Worth 87 Tries
00:15
Просмотров 5 млн
Bounded Contexts - Eric Evans - DDD Europe 2020
34:02
8 Design Patterns EVERY Developer Should Know
9:47
Why I Quit the Scrum Alliance
7:58
Просмотров 7 тыс.
100+ Computer Science Concepts Explained
13:08
Просмотров 2,4 млн
The WORST Way to Develop Software
15:16
Просмотров 20 тыс.
Why Software Estimations Are Always Wrong
14:22
Просмотров 48 тыс.
Abstraction Can Make Your Code Worse
5:13
Просмотров 610 тыс.
Domain Driven Design: What You Need To Know
8:42
Просмотров 95 тыс.
Эпоха Intel и AMD заканчивается?!
0:46
don't throw your faulty fan
0:24
Просмотров 2,5 млн
iOS 18 превратилась в Android
0:49
Просмотров 585 тыс.