Somewhere in the 7digital.com web site infrastructure there are classes that override the default controller and view factories (it is an ASP MVC project). Why did we do this? In our opinion, the default project layout is a hindrance to code readability.
The idea is explained by Uncle Bob in his concept of “screaming architecture”. i.e. if you glance at the program's folder structure, what is the most blatant thing about it, what is it “screaming about”?
If there's a folder full of controllers, and a folder full of views, and another for models, then it's screaming “I am an ASP.Net MVC project! I do ASP MVC things!”. If there's a folder called “Artists” and another called “Genres”, each containing controllers, views and other classes related to that feature, it's instead saying “I am a music catalogue on the web”.
I personally feel that “screaming architecture” is a very poor name for a very good concept. The architecture isn't having a crisis. It's not running around with hair on fire shouting “aaargh!!!”. Maybe Uncle Bob has more positive associations with the word “screaming”? With his meaning of “screaming”, every architecture is screaming about something, but what is the important thing.
SPA2015 – Join 7digital and get involved!
This year’s SPA conference (Software Practice Advancement) is soon approaching and starts this weekend on Sunday 28th June.
Organised by the British Computer Society, this four day event comprises a packed programme of sessions from a number of forward-thinking practitioners in our industry. The programme also includes evening “diversions” that provide ample opportunity for networking with other attendees.
Now in its 19th year, SPA offers a great opportunity to actively take part in sessions that are all about working on, and learning about, recent advances and ideas in software development.
There’s plenty to get involved in throughout the conference. Topics range from hands-on humanitarian software, to using Agile techniques to boost team productivity, or baby step refactoring, so there’s something for everyone interested in software development.
The team at 7digital is involved with a coding session that explores crafting high quality systems with emergent design, while another session we’re hosting looks at how the next generation is learning about technology and provides a workshop on the tools that young people are currently using in their Computing classes at school.
Say hello to us at the following sessions:
Hosted by Leon Hewitt and Neil Kidd
Date/ Time: Mon 29th June, 9.45 – 12.30
Hosted by Emma-Ashley Liles and Alex Graff
Date/ Time: Wed 1st July, 14.00 – 15.15
For more information, see the SPA2015 site. We look forward to seeing you there!
Paul Shannon, VP of Technology, 7digital