Click here to Skip to main content
15,843,865 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Literature on designing and implementing an access control system Pin
jschell11-Dec-23 5:27
jschell11-Dec-23 5:27 
AnswerRe: Literature on designing and implementing an access control system Pin
Gerry Schmitz8-Dec-23 8:17
mveGerry Schmitz8-Dec-23 8:17 
GeneralRe: Literature on designing and implementing an access control system Pin
D4rkTrick9-Dec-23 5:52
professionalD4rkTrick9-Dec-23 5:52 
GeneralRe: Literature on designing and implementing an access control system Pin
Gerry Schmitz9-Dec-23 12:01
mveGerry Schmitz9-Dec-23 12:01 
GeneralRe: Literature on designing and implementing an access control system Pin
D4rkTrick10-Dec-23 4:30
professionalD4rkTrick10-Dec-23 4:30 
GeneralRe: Literature on designing and implementing an access control system Pin
Gerry Schmitz10-Dec-23 8:27
mveGerry Schmitz10-Dec-23 8:27 
PraiseRe: Literature on designing and implementing an access control system Pin
D4rkTrick6-Jan-24 22:18
professionalD4rkTrick6-Jan-24 22:18 
SuggestionIODA - Architecture Ralf Westphal - Anyone use it also? Pin
Ralf Peine 202329-Nov-23 5:14
Ralf Peine 202329-Nov-23 5: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 11:47
Mircea Neacsu29-Nov-23 11:47 
GeneralRe: IODA - Architecture Ralf Westphal - Anyone use it also? Pin
Ralf Peine 202329-Nov-23 22:39
Ralf Peine 202329-Nov-23 22:39 
GeneralRe: IODA - Architecture Ralf Westphal - Anyone use it also? Pin
jschell30-Nov-23 7:12
jschell30-Nov-23 7:12 
GeneralRe: IODA - Architecture Ralf Westphal - Anyone use it also? Pin
Gerry Schmitz30-Nov-23 17:20
mveGerry Schmitz30-Nov-23 17:20 
GeneralRe: IODA - Architecture Ralf Westphal - Anyone use it also? Pin
Ralf Peine 202330-Nov-23 21:42
Ralf Peine 202330-Nov-23 21:42 
GeneralRe: IODA - Architecture Ralf Westphal - Anyone use it also? Pin
Pete O'Hanlon3-Dec-23 21:35
subeditorPete O'Hanlon3-Dec-23 21:35 
QuestionValidate Data Format Pin
Kevin Marois15-Nov-23 14:05
professionalKevin Marois15-Nov-23 14:05 
AnswerRe: Validate Data Format Pin
Gerry Schmitz15-Nov-23 15:21
mveGerry Schmitz15-Nov-23 15:21 
GeneralRe: Validate Data Format Pin
Kevin Marois16-Nov-23 9:05
professionalKevin Marois16-Nov-23 9:05 
GeneralRe: Validate Data Format Pin
Gerry Schmitz16-Nov-23 10:49
mveGerry Schmitz16-Nov-23 10:49 
GeneralRe: Validate Data Format Pin
Kevin Marois16-Nov-23 11:46
professionalKevin Marois16-Nov-23 11:46 
GeneralRe: Validate Data Format Pin
Gerry Schmitz16-Nov-23 16:57
mveGerry Schmitz16-Nov-23 16:57 
AnswerRe: Validate Data Format Pin
jschell16-Nov-23 6:26
jschell16-Nov-23 6:26 
GeneralRe: Validate Data Format Pin
Andre Oosthuizen18-Nov-23 8:18
mveAndre Oosthuizen18-Nov-23 8:18 
QuestionHow to address security in white label software Pin
mozilly2-Nov-23 22:54
mozilly2-Nov-23 22:54 
AnswerRe: How to address security in white label software Pin
Gerry Schmitz5-Nov-23 6:06
mveGerry Schmitz5-Nov-23 6:06 
AnswerRe: How to address security in white label software Pin
jschell6-Nov-23 11:50
jschell6-Nov-23 11:50 

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.