C # architecture for a large application

Could you tell me some tutorials / books about thinking of a big application in C #. I worked with 3 levels, but I need something more specific:

a way to create panels, so that specific panels and specific database management DLLs will be loaded for specific users, so when the user changes the record, others cannot change this record, should I use the entity structure, or should I go to the old school with the creation db and class

any links to the above will be greatly appreciated

Many thanks!

+4
source share
8 answers

Kind of a broad topic, but two books that I would recommend giving, no matter what language you use, or the specifics of your project:

If you have specific questions about how to accomplish something, I would post it here or on Google.

+3
source

Sharp Architecture is just such an architecture. This is pretty detailed, and it has a lot of work to do.

+2
source

It will not be covered in one book or textbook, believe me. You need to decide the user interface structure, data access technology, templates, and the overall architecture. And, of course, you need in-depth knowledge of the .NET platform and how the CLR works. This is nothing special C #. Since you have customization requirements for the user interface (Panels), WPF is definitely the best candidate for the user interface.

As the saying goes -

  • For C #: Pro C # 2010 and the .NET 4 Platform

  • .NET and CLR: CLR through C #

  • UI Framework - WPF: Pro WPF in C # 2010

  • Use MVVM with WPF. MVVM will keep you informed by supporting Group Separation . You can follow the recommendations of Microsoft Prism . For large applications with complex UI requirements, Prism is the best choice. You may need to use Injection Dependency. MEF should go hand in hand with MVVM and Prism.

  • Yes, the Entity Framework can handle concurrency problems, but it is available on almost all data access systems. Entity Framework provides many other features, but when using you should have a clear idea of ​​what you are doing. Programming the Entity Framework will definitely help.

+2
source

Regarding the panel / user interface architecture, it may be useful to look at Prism (from Microsoft templates and practices). This is an architecture / set of libraries for processing a composite user interface, where the user interface is loaded at run time and consists of independent transmitting parts. One note, it is built for use with WPF or Silverlight; There is an older library with similar functionality for WinForms called CAB , which is no longer supported.

As for data access, it looks like you want to implement active write lock when the record is open for editing in the user interface; It is an independent function of the actual data access code you are using. It may be easier to implement database-level locking if you use direct ADO.NET and EF, which adds layers of abstraction.

+1
source

Microsoft.NET: Architectural Enterprise Applications - with a very good code example, there is a chapter in concurrency

Professional Enterprise.NET

ASP.NET 3.5 Website Programming: Problem - Design - Solution

I think there are no online resources that could compete with the complexity of these books.

0
source

My books related to these questions are Jeffrey Richter CLR via C # . It completely distracts you from how the construction of your class affects memory per stack / heap for best practices for these types of discussions. Especially the assembly load on the fly and the best way to achieve this.

It will also bring you your skills a notch, and Jeff is a great writer.

I recommend this book to EVERY C # developer I know, and they always go better. What are we all hoping for?

Good luck

0
source

If you want to learn fast and get to the meat quickly, I would recommend getting a Pluralsight account, as this will cover the technologies you need and highlight others that you may not have heard of. A monthly subscription will be about the same as a decent book.

Pluralsight.com

0
source

Source: https://habr.com/ru/post/1313683/


All Articles