So, you decided to try Domain-Driven Design (DDD). You start modeling the domain using the language spoken by your domain experts. All goes well… until you discover ambiguities. What do you do now? How do you keep your model clean while still respecting the ubiquitous language?
Well, it depends. It depends on your philosophical presuppositions, to be precise. The way you think language works will to a large extent determine your course of action. So instead of looking to DDD creator Eric Evans for the answer, I propose looking in an entirely different direction: the philosophy of Ludwig Wittgenstein (1889 - 1951). Wittgenstein’s revolutionary insights into the nature of meaning provide some excellent pointers for diagnosing the source of your modeling problem – not to mention showing you the way out!
At the end of this session, you’ll have gained a clearer understanding of the way language works and how you can use this knowledge to build better software. Whether you’re new to DDD or a seasoned veteran, this talk is sure to provide you with a new outlook on your development activities.