Roger Barnfather
rogerbarnfather.bsky.social
Roger Barnfather
@rogerbarnfather.bsky.social
Software engineer. Agile enthusiast. Welsh British. European. Earthling. Guitar. Travelling. Espresso. Art.
I used to think software could be written in a definitive, “perfect” way. Just use the right patterns.
But I realised it’s all about modelling things in a human way. And hide the complexity.
This means trade-offs everywhere and you have to make the best of what you’ve got.
Unsatisfying but true.
October 1, 2025 at 8:25 PM
I failed a job interview technical test relating to Domain Driven Design because I used too much abstraction while covering money currency types. To be fair, I over complicated it. Lesson learned: keep all that stuff simple, one big-decimal value object, and in one domain service.
July 24, 2025 at 8:27 PM
@vaughnvernon.bsky.social Hi there Vaughn! I’m loving reading “Implementing Domain-Driven Design”. It’s great stuff. I spotted this little doozy.
May 24, 2025 at 10:52 AM
I’m currently reading Vaughn Vernon’s “Implementing Domain Driven Design”. Brilliant stuff. A big book but full of quality ideas.
April 27, 2025 at 1:55 AM
Auto-incremented IDs vs generated UUIDs. What do you think?
March 27, 2025 at 11:03 PM
Better Controllers:
- Controller <- Inject
UseCase + Presenter
- Controller handles/scrapes/validates request
- Creates a Command DTO
- Invokes UseCase with DTO
- Presenter <- Inject
Repositories + View renderer
- Controller invokes Presenter
- Controller sends output to client
March 16, 2025 at 6:21 PM
When you have a bad programming idea, ChatGPT is great! It will guide you step by step on how to turn your bad idea into an incredibly complex bad idea that does the same thing but perfectly conforms to the SOLID principles. 😄
March 14, 2025 at 10:51 PM
Laws and constitutions are just words on paper. Their virtues rely on the willingness of enforcers (police, armed forces and judges) to uphold the words, along with the good nature present in all people.
Weakened personal values or corrupted enforcers unlock the door, allowing tyranny to walk in.
March 12, 2025 at 6:05 PM
Has anyone used the Presenter and ViewModel pattern from a UseCase? If the output can vary (e.g.- web page with user details, special offers, adverts etc. VS command line which just wants “Success!” or “Error”) then how does the UseCase know what to give the Presenter?
March 5, 2025 at 3:16 PM
Reposted by Roger Barnfather
Trump is an enemy of us all.

Europe needs to unite - and the UK needs to rejoin the EU.

If you want to see that happen… join European Movement UK right now. We’re driving this. ✊
European Movement
We're the UK's largest pro-European movement. Our goal is to reverse the calamity of Brexit and restore relations with our European neighbours.
www.europeanmovement.co.uk
February 17, 2025 at 1:29 PM
Keir Starmer! Nice one. A leader with a backbone in European politics for once. Someone standing up to a bully.

PM 'ready' to put troops on ground in Ukraine to protect peace
February 16, 2025 at 11:47 PM
I used to frequently discover fun websites that I enjoyed and would bookmark. I felt happy, enriched and inspired. That doesn’t really happen any more.
What we need to invent is some sort of “world-wide web” where sites link to other related sites. Surprised it hasn’t already been done 🤷‍♂️🌍😉
February 6, 2025 at 11:29 AM
Reposted by Roger Barnfather
Felicity House, UK contemporary artist who was elected a member of The Pastel Society #WomensArt
February 5, 2025 at 6:41 AM
People in the 20th century would do things when they got pissed off.
People in the 21st century just post messages to everyone else, who, in turn post very similar messages to everyone else. Nobody actually does a thing because they believe posting and reading is somehow changing things.
February 3, 2025 at 3:25 PM
And so, when the time came the humans willingly plugged themselves into The Matrix. The machines and their early masters barely had to do anything at all…
February 3, 2025 at 1:08 PM
I’ve killed off my Twitter/X account now. Good riddance! I couldn’t take the constant hateful propaganda.
January 30, 2025 at 7:05 PM
I’m beginning to wonder if anyone in the web development world knows about Event Sourcing and Domain Driven Design or Hexagonal Architecture…
Are we all stuck with CRUD? Maybe this is just a backward PHP thing where the framework counts for everything.
#php #ddd #dddesign #eventsourcing
January 30, 2025 at 7:02 PM
Just deactivated my Twitter account. It feels kind of liberating. I didn’t really need anything on there anyway. I slightly felt like I was attached because of old interactions. But hey, all gone now.
So long mother-Musker!
January 28, 2025 at 5:40 PM
If you want to play the Beatles, good luck to you. Their chord structures are so difficult considering how simple the songs sound!
January 16, 2025 at 10:56 AM
How do I delete my Mastodon account? The platform never really worked for me.
January 10, 2025 at 8:47 PM
In the movies we used to watch, billionaires wore capes and went rushing around trying to save the innocent from the tyrants of the world.
Nowadays, the billionaires just want to watch the world burn.
January 7, 2025 at 2:49 AM
I’m waiting for a long running scandal involving Elon Musk that keeps getting longer so we can call it Elongate.
January 6, 2025 at 11:02 PM
BoundedContext >
contains Controller >
creates DataObject >
puts on CommandBus >
delivers to UseCase >
uses Repository >
retrieves Aggregate >
passes to DomainService >
uses AggregateRoot >
uses ValueObject >
eventually Infrastructure >
triggers EventDispatch

DDD flow in a nutshell.
January 2, 2025 at 10:02 PM
Please use this new year to realise we can all start again. The past is behind. The future is ahead. We can reset. If Darth Vader could do it, then we can all do it too.
May the force be with you!
darth vader says you were right about me while wearing a mask
ALT: darth vader says you were right about me while wearing a mask
media.tenor.com
January 1, 2025 at 10:04 PM
“Do you expect me to talk?”
“No, Mr Bond. I expect you to die!”
December 30, 2024 at 9:15 PM