How to start designing a desktop application

vitaminchik 486 Reputation points
2023-02-20T20:28:16.57+00:00

How to start designing a desktop application. What needs to be done for a professional approach?I learn C#. While I painted the plan (painted the functionality, types of users), but I stopped before writing the code. How to organize everything correctly?

Developer technologies | C#
0 comments No comments
{count} votes

Accepted answer
  1. Karen Payne MVP 35,586 Reputation points Volunteer Moderator
    2023-02-20T22:56:12.6333333+00:00

    In no specific order

    • Write a plan out for what the application is to do rather than just code
    • Write unit test which can assist when something does not work as expected along with pointing to code that may fail that can indicate the need for try-catch statements which works in tangent with the next bullet.
    • Implement logging, consider SeriLog.
    • Stay away from writing all code in a form, strive to place database operations in a class, same goes for working with files
    • Consider using classes over DataSet and DataTable and stay away from TableAdapter
    • For data operations either Entity Framework Core or Dapper
    • Decide on either MAUI or conventional Windows Forms
    • Organize code in folders e.g. for classes that perform work in Classes folder, for classes that are containers for information create a folder named Models etc
    • Create a readme.md file which provides high level information about the project and points to more detailed documentation.
    • Create a private GitHub repository for the project

    And consider a web solution over desktop.

    1 person found this answer helpful.
    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Sander van de Velde | MVP 36,766 Reputation points MVP Volunteer Moderator
    2023-02-20T22:54:13.7766667+00:00

    Hello @vitaminchik ,

    there are many ways to create an application for your users or yourself.

    Which kind of application you need depends on a lot of circumstances.

    I suggest starting with some free learning modules regarding programming like this one.

    Check out MS Learn for more free modules and complete training paths.


    If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.

    1 person found this answer helpful.
    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.