I’m a student looking for resources which can help me further understand how to properly apply access modifiers to members/types as I code them.
I know (in C#) what restrictions access modifiers like private, public, protected, etc. put into place. When I code my own little projects I have a tendency to just make everything public. I’m certain this is an absolutely horrible practice as it just tosses encapsulation out the window. I just never know when it’s correct to use something like internal vs. private.
Does anyone have any good resources to aid me in understanding the proper use of access modifiers?
This is an experience type question. Start from the level of least privilege and promote up as necessary.
In other words, make everything private. Until you discover that it needs to be promoted to protected or public. Over time you will get a feel for the intended and later discovered usages of your classes.