tag:blogger.com,1999:blog-7821856652257554779.post2743138151964205157..comments2023-10-22T12:47:47.534+02:00Comments on Andrzej on Software: The Four Architectures that will inspire your programmingAndrzej Krzywdahttp://www.blogger.com/profile/06399276063142826365noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-7821856652257554779.post-36991444313738907972013-12-23T21:57:48.334+01:002013-12-23T21:57:48.334+01:00one architecture that I think is well suited to so...one architecture that I think is well suited to some problem domains and popular with game developers is Data Oriented Programming and entity systems, http://gamesfromwithin.com/data-oriented-design http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/<br /><br />additionally, having experience building something large in a functional language is a dramatic shift for some people. It can be interesting to get the perspective from outside OOP paradigms.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-8468946005734235202013-12-23T01:04:31.692+01:002013-12-23T01:04:31.692+01:00William, I like how you called it 'parallel ar...William, I like how you called it 'parallel architectures' :)Andrzej Krzywdahttps://www.blogger.com/profile/06399276063142826365noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-17188947226707850402013-12-22T17:17:11.126+01:002013-12-22T17:17:11.126+01:00Szymon, thanks for the clarification!
I'm sti...Szymon, thanks for the clarification!<br /><br />I'm still in the early phase of learning about DDD/CQRS.<br /><br />Your blog helped me a bit :)Andrzej Krzywdahttps://www.blogger.com/profile/06399276063142826365noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-88363185447960745232013-12-22T09:54:01.760+01:002013-12-22T09:54:01.760+01:00Thanks for a good and concise summary of various i...Thanks for a good and concise summary of various ideas.<br /><br />Regarding architecture, there are two schools of thought (at least). According to one of them, concepts you named are architectures because they define how an app is built. On the other hand, if you consider SOA an architecture style, the concepts you mentioned become merely implementation details of services -- a large scale design patterns. I subscribe to this second school of thought.<br /><br />Second, I don't know that much about clean or DCI but I'd like to comment on DDD/CQRS. First, DDD is not an architecture but more like an approach to design process plus a set of design patterns (Aggregate, Entity). These patterns on their own are not enough and need a higher-level concept such as hexagonal to complete the design. Regarding Aggregates, there can be many of them per BC. The idea of aggregate is that it forms a consistency boundary around a group of objects thus providing decoupling and allows for partitioning. <br /><br />But overall, good job!Szymon Pobiegahttp://simon-says-architecture.com/noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-47505498674890269862013-12-21T18:16:37.606+01:002013-12-21T18:16:37.606+01:00DCI is quite well-suited to Scala, where Traits pl...DCI is quite well-suited to Scala, where Traits play the crucial enabling role. In the CLR world, C# and F# extension methods can similarly be used for DCI.lobrienhttps://www.blogger.com/profile/01095104452155264008noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-2221659548329750862013-12-21T17:42:16.632+01:002013-12-21T17:42:16.632+01:00Hey Brian,
Obvious is definitely on my list of th...Hey Brian,<br /><br />Obvious is definitely on my list of things to try very soon :) Thanks for reminding about that!Andrzej Krzywdahttps://www.blogger.com/profile/06399276063142826365noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-43213640389587189672013-12-21T17:20:15.520+01:002013-12-21T17:20:15.520+01:00On the Clean Architecture side, I think you would ...On the Clean Architecture side, I think you would be interested in Obvious Architecture. It is a working version of Uncle Bob's Clean Architecture that also cribs a lot from hexagonal architecture on the data side. <br /><br />It's implemented in Ruby, but it can trivially be done in just about any OO language. <br /><br />http://obvious.retromocha.comBrian Knapphttp://obvious.retromocha.comnoreply@blogger.com