Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8149487
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T14:51:44+00:00 2026-06-06T14:51:44+00:00

I am developing a WPF application, that connects to several WCF services (that work

  • 0

I am developing a WPF application, that connects to several WCF services (that work with LINQ-TO-EF).

The WPF is designed in MVVM fashion.

For each WCF Service I have the following:

  • Service Layer DLL – this includes the service interface, service implementation. the service implementation just creates BL objects and calls methods on them
  • Service BL Layer DLL – this includes a manager factory (factory creates UserManager, TaskManager etc). Each manager has an interface + implementation (for unit-testing purposes and DI). For example – TaskManager has ‘GetTasks’, ‘CheckTaskIsValid’ etc. In addition, the BL Layer has a ‘Trasnlator’ class to translate from Data-Entity to DTO. The BL manager methods return DTOs to the service layer.

In addition to the above, all the service BLs reference the Data Access Layer DLL that includes:

  • EDMX file with tables from MS SQL Server
  • Auto-Generated DbContext + POCO entities
  • Query providers (used by BL manager classes). Each query provider has an interface+implementation for unit-testing and DI purposes.
  • DbContext factory – interface+implementation, for unit-testing and DI purposes.

The services are in CQS design (Command-Query-Seperation, not to mix with CQRS), meaning that there is one service responsible for querying only and one service responsible for sending commands.

I am using DI (using AutoFac) through my WCF Host Project that hosts all the services (I implemented IInstanceProvider, so that I can inject dependencies to the services).

I did not implement my own repositories or unit-of-work, because DbContext already is UoW and Repositories.

Is this design flawed ?

I have read a lot of posts about DDD, and I know that my design is not DDD.

My question is – is my design good enough ? Do I need to refactor all my code towards DDD ? (using aggregates and root aggregates etc).

I have tried to provide as much detail as possible about the design, so I hope I don’t get answers like ‘Your question is too general’ or ‘Need some examples’… Any helpful information would be very much appreciated !

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T14:51:45+00:00Added an answer on June 6, 2026 at 2:51 pm

    Yes, you have not DDD design, but not-DDD doesn’t means bad design. I think when your system is testable and flexible for further development, scales good for your needs – than you have good system design for your needs.

    All other sounds good except:

    I did not implement my own repositories or unit-of-work, because
    DbContext already is UoW and Repositories.

    Not implementing your UoW and Repositories means you are tightly coupled to Entity Framework and it could be problems with testability. But you can cover it with integration test again test database. Unit tests for database logic sometimes tests itself.

    Do you need DDD? Maybe when system will be more complex than evolutional you will come to DDD and to CQRS. But when it’s enough for you, easy to maintain and for further development, testable, scaling, when system is not fragile, than I think, it’s better to focus on business needs

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We are developing a server-client application in c# using wcf services and wpf. We
I am developing an application that uses Entity Framework and WPF with MVVM design
I am developing a WPF application in .NET 4.0 which calls a WCF Service
I'm developing a networked WPF application with the MVVM pattern and it seems that
I am developing a WPF application that must run using Windows Classic theme. The
I am developing a WPF application that must meet Section 508 (Accessibility) requirements. In
I am developing a simple WPF Application that requires a database. My question is,
Ok so I'm developing a WPF application that makes heavy use of SQL Server.
i'm developing an application (wpf) that have 3 windows. in the main window user
I am developing a commercial VB.net WPF application that needs user generated scripts for

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.