Filter
Exclude
Time range
-
Near
30 Jul 2025
Here is my video about Compositional Software Design ! This video explains what I mean by compositional design, and explains the SCIFI principles that can guide you when designing for composition. It also explains concepts such designing for replaceability and two-way reusability. It also discusses when to use an interface, and when not. I have been working on the content of this video for more than 1.5 years - and promised this video several times inhere - before I finally got the core ideas distilled enough to convey in a video 😊 The ideas are reasonably simple - but it has taken a long time for me to make them this simple 😁 youtube.com/watch?v=rmEh3E1Z… #SoftwareDesign #CompositionalSoftwareDesign #OOP #FP #CodeReuse
1
15
1,326
26 Jan 2025
When being serious about Compositional Software Design (designing your code base for composability) - you will often experience these two phenomena impact your code base size: 1) Decompositional Expansion 2) Compositional Contraction First, your code base will expand because you are breaking your code base into many smaller pieces that can be composed together to form solutions. This phenomenon (phase) is what I call the "Decompositional Expansion". Later, your code base will feel like it contracts, meaning it does not grow as fast in size anymore as it did in the beginning. It feels like you can add new functionality with little code (and little effort). This phenomenon (phase) is what I call the "Compositional Contraction". During this phase you are starting to reap the benefits of all those reusable components you created during the Decompositional Expansion. Have you experienced these two phenomena in your code base size growth? ☺️ I am covering these phenomena in my upcoming video about Compositional Software Design ☺️ Seems like it will be one of my longest videos to date! 🫢 #CompositionalSoftwareDesign #CompositionalDesign #SoftwareDesign
1
8
974
18 Nov 2024
We software developers tend to reuse design solutions - rather than trying to reuse the design thinking that led to those solutions... I would like to change that. Instead of studying design patterns - we should be studying design thinking. Instead of thinking in terms of "factories", "abstract factories", "builders", "service locators" or "dependency injection" rather than "implementation replaceability". #SoftwareDesign #ConsciousSoftwareDesign #CompositionalSoftwareDesign
3
23
1,508
7 Aug 2024
I have finally "figured out" the core principles of what I call Compositional Software Design - which I have been talking about here from time to time. I have published a tutorial explaining these core principles (link below). There is still more to say about Compositional Software Design than what is currently in this tutorial - but there is enough to understand the central ideas. More will be added in the future, but will probably mostly be more nuances and details around the core principles. jenkov.com/tutorials/softwar… #CompositionalSoftwareDesign #SoftwareDesign

22
1,807
3 Jun 2024
Here is an introductory talk about Compositional Software Design I did at Lund&Bendsen A/S "faglig fredag" . It's in Danish though (the slides are in English). Sorry about that. A longer English video will follow in the future 😊 logb.dk/jakob-jenkov-composi… #CompositionalSoftwareDesign
3
1,124