Ticket Q473736
Visible to All Users

Domain Components (DC) vs. XPO classes for a new project

created 12 years ago

Hi all,
I've just started investigating XAF. On the first approach it seems quite overwhelming. Maybe this is the reason why I ask this question:
I would like to start a new project with XAF. What would be the "preferred" approach, using DC or XPO?
DC seems to be very attractive and somehow new in the framework. XPO seems to be a proven technology. I know that the Domain Components will be more or less XPO objects in runtime. I just don't know what is "better" to use now? I've read a lot in the documentation, but still I'm a bit lost.
Right now I would prefer DC. But I'm unsure if there are any limitations or problems, since it is "the new kid on the block"? (Well at least since approx. three years… ;) )
Any help or guidance is much appreciated.
Thanks a lot in advance,
Sven

Answers approved by DevExpress Support

created 12 years ago (modified 5 years ago)

Hello Sven,
Thank you for your interest in our frameworks!
If I were in your shoes, I would rather start with pure XPO classes, because DC is an advanced data management technology, which may be difficult for beginners. Before, we recommended our users look at DC when they are quite good with persistent objects already and want to better reuse your code.

As for DC limitations and specifics, since this is a niche tech, support for it in certain built-in modules is limited + bear in mind that DC involves one more abstraction level above XPO:

I hope you find this information helpful.

    Comments (2)

      Hello Dennnis,
      I would like to know if there is any performance issues in using DC compared to XPO. As i will be starting to write a complex application, i want to take the right start.
      Your advise is highly appreciated!

      Dennis Garavsky (DevExpress) 11 years ago

        @Mohammed: I am afraid it is difficult to answer your question, because it is possible to create bad data models with both EF, XPO or DC. I should admit, however, that creating a bad and slow data model with DC is a bit easier, especially if you do not think about how this data model interacts with the database. Finally, with XPO and EF, a developer has more flexibility and capabilities for specific customizations than with DC.

        Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

        Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.