Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Qt and DDD
croland last edited by
Does anyone know of any open source examples of Qt being used with domain driven development?
lothar last edited by
I dont know any such example.
However, I am curretly trying to implement DDD and Hexagonal Architecture on a toy project (a tetris like game) I am creating to help me learn Qt.
One of the important things for me is to have a clear separation between the Model and the Gui. I like to have the model to have the less possible dependance to any framework. On c++, this end writing it with only dependance to the STL.
In case of Qt, I understand the QT Core library propose a lot of very nice features, and some of them seems even better than their STL equivalent. So, after a try with STL, I am now rather trying to develop the model on QT Core library, keeping the QT Gui depedency away.
At last but not least, I am using Google Gtest to develop the model the TDD way (I am an agile/TDD fan :-))
more about hexagonal architecture here: http://alistair.cockburn.us/Hexagonal+architecture
Please let me know if you have any remark, question :-)
@lothar: To maximize your Qt-learning efficiency you should use QtTest in favor of GTest;-)
alexbravo last edited by
It would be nice to add (Domain Driven Development) to the title. Otherwise it can be easily confused with DDD debugger:
The Art of Debugging with GDB and DDD
DenisKormalev last edited by
AlexBravo, yeah, I'm also firstly thought about DDD tool, not about DDD technique.
mario last edited by
Chris, I'm also very interested about this topic. I haven't done much DDD myself but I have read about it and done some toying.
One thing I toyed with was to create a Repository to fetch entities (json-objects from the internet). I found it hard to use QNetwork because the asynchronous nature of the module. Repositories are often modeled to return an entity and the entity can then be used to traverse the children etc.
Do you have any examples I can take a look at?