The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
1–10 of 25 posts
Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#2Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#3If you want to play Entity-Component-System. I'd suggest you check out A-Frame, a WebVR framework that uses and promotes Entity-Component-System: https://aframe.io/
Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#4The problem DCI purports to solve with OOP is in fact largely caused by failing top apply OOP properly (yeah, yeah no true Scotsman...). Issues like overloading objects with too many responsibilities (MVC models do this almost always), relying on inheritance when composition is what is needed, not defining and enforcing module or transactional boundaries and naively applying DRY to everything all lead to high coupling and low cohesion and ultimately cause the problems that DCI attempts to solve. However they can be solved by simple avoiding the above and using simple principled objects with clear dependency trees and boundaries.
Bottom line: Follow the basic principles of OOP and SOLID instead of just paying them lip service and no secret sauce is required.
Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#5Another vision of Object-Oriented Programming that has gotten quite a bit of traction. (Especially in the game development community.) Is the Entity-Component-System model: https://en.wikipedia.org/wiki/Entity%E2%80%93component%E2%80... If you want to play Entity-Component-System. I'd suggest you check out A-Frame, a WebVR framework that uses and promotes Entity-Component-System: https://aframe.io/
Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#6The most interesting part is that as good as this sounds I haven't heard of it again since that article first came out.
Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#7Another vision of Object-Oriented Programming that has gotten quite a bit of traction. (Especially in the game development community.) Is the Entity-Component-System model: https://en.wikipedia.org/wiki/Entity%E2%80%93component%E2%80... If you want to play Entity-Component-System. I'd suggest you check out A-Frame, a WebVR framework that uses and promotes Entity-Component-System: https://aframe.io/
I spent quite a lot of time exploring ECS before building my own ECS library for developing 2D games. I have found that with my (minuscule) ECS library it greatly alleviates just about all of the issues I was facing with normal OOP. Everything scales extremely well, the code is almost crystal clear, and it makes code structure very simple. I'm not sure how you could effectively apply ECS outside of simulation style a…
For UI the issue is one of expressing lightweight dependencies, which may be detached and recombined easily. I am currently exploring an approach that combines "imgui" concepts with hierarchical path data, akin to the hard and symbolic links in Unix. Having the path as data allows assemblages of partial routes to be combined to express a "final" data point. The data itself may not entirely exist in a physical tree structure but instead be a combination of procedural data, stored data, and a parser.
Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#8The most interesting part is that as good as this sounds I haven't heard of it again since that article first came out.
The problem with DCI is that it didn't have native support in any programming language. Coplien, one of the co-founders of DCI is actually working on a programming language called Trygve which implements these ideas. https://github.com/jcoplien/trygve
Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#9Re: The DCI Architecture: A New Vision of Object-Oriented Programming (2009)
#10The most interesting part is that as good as this sounds I haven't heard of it again since that article first came out.
The problem with DCI is that it didn't have native support in any programming language. Coplien, one of the co-founders of DCI is actually working on a programming language called Trygve which implements these ideas. https://github.com/jcoplien/trygve