Compositional Software Design - Better, Smaller Code, Faster
Автор: Jakob Jenkov
Загружено: 2025-07-29
Просмотров: 1651
Compositional Software Design is a design style where you design your components for composability - meaning they are designed to be composed together to form larger composite solutions to various problems.
This video explains my version of compositional software design - which is centered around the SCIFI principles:
S: Split unit responsibility recursively.
C: Connect the resulting units.
I: Improve interfaces.
F: Facilitate use of core components.
I: Iterate on the design.
This video covers how to split and connect your components for both dynamic reusability and replaceability - which enables you to achieve two-way reusability.
This video also explains how compositional design tends to lead to smaller code bases and faster development over time.
Chapters:
0:00 Introduction to Compositional Software Design and its benefits
1:47 Don't skip Design Thinking
4:24 Disclaimer: Not all is new
4:51 What are you designing for?
5:03 Compositional software design goals
5:40 The SCIFI principles
7:28 S - Split unit responsibility recursively
8:35 Split for reusability
9:12 Split for replaceability
9:52 Two-way reusability
10:41 When to use interfaces?
11:48 Three classical responsibility splits
12:21 Split action from action
13:22 Split action from scope or context
14:55 Split action from state management
17:32 C - Connect the units
18:15 Connection direction
21:18 Connection mutability
34:16 I - Improve interfaces
37:16 F - Facilitate the use of core units
40:04 I - Iterate on the design
42:42 Summary of Compositional Software Design
45:38 Case - File hashing - example of applying SCIFI
01:07:24 Deviating fromt he principles is okay
01:08:47 Smaller code base - how?
01:11:24 Faster development - how?
01:13:55 Beyond OOP
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: