Click here to Skip to main content
15,908,673 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Why I don't do MVVM. Pin
Greg Utas25-Dec-23 8:28
professionalGreg Utas25-Dec-23 8:28 
GeneralRe: Why I don't do MVVM. Pin
Dave Kreskowiak22-Dec-23 15:24
mveDave Kreskowiak22-Dec-23 15:24 
GeneralRe: Why I don't do MVVM. Pin
Gerry Schmitz23-Dec-23 7:30
mveGerry Schmitz23-Dec-23 7:30 
GeneralRe: Why I don't do MVVM. Pin
jschell25-Dec-23 7:55
jschell25-Dec-23 7:55 
GeneralRe: Why I don't do MVVM. Pin
Gerry Schmitz25-Dec-23 11:35
mveGerry Schmitz25-Dec-23 11:35 
GeneralRe: Why I don't do MVVM. Pin
jschell26-Dec-23 4:37
jschell26-Dec-23 4:37 
GeneralRe: Why I don't do MVVM. Pin
Gerry Schmitz26-Dec-23 7:03
mveGerry Schmitz26-Dec-23 7:03 
GeneralRe: Why I don't do MVVM. Pin
jschell27-Dec-23 5:19
jschell27-Dec-23 5:19 
QuestionLiterature on designing and implementing an access control system Pin
D4rkTrick8-Dec-23 2:17
professionalD4rkTrick8-Dec-23 2:17 
AnswerRe: Literature on designing and implementing an access control system Pin
Richard MacCutchan8-Dec-23 2:52
mveRichard MacCutchan8-Dec-23 2:52 
GeneralRe: Literature on designing and implementing an access control system Pin
D4rkTrick9-Dec-23 4:52
professionalD4rkTrick9-Dec-23 4:52 
GeneralRe: Literature on designing and implementing an access control system Pin
Richard MacCutchan9-Dec-23 5:05
mveRichard MacCutchan9-Dec-23 5:05 
AnswerRe: Literature on designing and implementing an access control system Pin
jschell8-Dec-23 4:49
jschell8-Dec-23 4:49 
GeneralRe: Literature on designing and implementing an access control system Pin
D4rkTrick9-Dec-23 4:52
professionalD4rkTrick9-Dec-23 4:52 
GeneralRe: Literature on designing and implementing an access control system Pin
jschell11-Dec-23 4:27
jschell11-Dec-23 4:27 
AnswerRe: Literature on designing and implementing an access control system Pin
Gerry Schmitz8-Dec-23 7:17
mveGerry Schmitz8-Dec-23 7:17 
GeneralRe: Literature on designing and implementing an access control system Pin
D4rkTrick9-Dec-23 4:52
professionalD4rkTrick9-Dec-23 4:52 
GeneralRe: Literature on designing and implementing an access control system Pin
Gerry Schmitz9-Dec-23 11:01
mveGerry Schmitz9-Dec-23 11:01 
GeneralRe: Literature on designing and implementing an access control system Pin
D4rkTrick10-Dec-23 3:30
professionalD4rkTrick10-Dec-23 3:30 
GeneralRe: Literature on designing and implementing an access control system Pin
Gerry Schmitz10-Dec-23 7:27
mveGerry Schmitz10-Dec-23 7:27 
PraiseRe: Literature on designing and implementing an access control system Pin
D4rkTrick6-Jan-24 21:18
professionalD4rkTrick6-Jan-24 21:18 
SuggestionIODA - Architecture Ralf Westphal - Anyone use it also? Pin
Ralf Peine 202329-Nov-23 4:14
Ralf Peine 202329-Nov-23 4:14 
I use IODA architecture since the very beginning, nearly 10 years now. I develop SW more than 30 years as a profi.

It is the first approach/technique, that offers the option to produce reusable, small classes like "lego building blocks".

It is ortogonal to other best practices like CleanCode, DRY and other.

It has a strong impact on unit testing: Unit testing will be easy.

The reason is simple:

IODA was designed to reduce dependencies between classes to a minimum.

I - Integration - calls all other, but does not contain logic or data
O - Operation - contains logic, just work with data, do not know other operations or integrations
D - Data - holds the data and knows/deals only about itself and its childs. No operations here.
A - API - Application Interfaces - To deal with the environment or to provide general functions like data validation and other stuff

All of these classes are devolped by the project. Standard-Libraries can be found below this code.

If you then divide the Operations in "IO operations" and "other operations" you get the following:

IO_operation "reader" reads "data_ger",
operation "translator" translates "data_ger" to english data "data_eng"
and then the IO operation "View_data" presents it to the user.

And the integrator "TextManager" has a method like

C#
void viewAsEnglish(int textIdGer, string readLang = "ger")
{
  var data_ger = reader.Read(textIdGer, readLang);
  var data_eng = translator.Translate(data_ger, "eng");
  
  dataViewer.View(data_eng);
}


After longer practice you will automatically think in these four types, when creating a new class.

And yes, it will work fine in real projects.

Now lets start discussion about it, if you want.

**Links**

Detailed description:

https://www.infoq.com/news/2015/05/ioda-architecture/[^]

Bigger sample project (documentation only in german, sorry)

GitHub - jpr65/VersandEtiketten: This is a reference projekt for IODA and also a developer test ticket. Only in german, possible later also in english.[^]

** Images **

IODA - Principle Diagram
IODA - Libraries

modified 1-Dec-23 2:53am.

GeneralRe: IODA - Architecture Ralf Westphal - Anyone use it also? Pin
Mircea Neacsu29-Nov-23 10:47
Mircea Neacsu29-Nov-23 10:47 
GeneralRe: IODA - Architecture Ralf Westphal - Anyone use it also? Pin
Ralf Peine 202329-Nov-23 21:39
Ralf Peine 202329-Nov-23 21:39 
GeneralRe: IODA - Architecture Ralf Westphal - Anyone use it also? Pin
jschell30-Nov-23 6:12
jschell30-Nov-23 6:12 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.