インドリインドリ氏は coding 時に class, interface 果ては method, property まで利用者での access control できるようにすべきとの意見に見えます。Coding 時に access control を決定すると言うことは、つまり開発側が access control を決定するということになります。
ちょっと待ってください。これ本当にあるべき姿なんでしょうか?
利用される環境が特定されている環境ではそれでもいいでしょう。ただし、特定されない環境ではどうなるでしょう? 開発側が示した access control が利用者側の policy を満たさない場合、使いもんにならないものになるでしょう。
また、利用される環境が特定されている場合でも、要件の変更なんてしょっちゅうありますよね。Access を制御するもの (例えば ACL) を code 内に内包した場合、その都度 compile し直して binary 配布する必要があります。
ということで、access を制御するものを code 内に内包するのは得策とは言えません。Binary とは別の編集可能なところに access を制御するものを置くべきでしょう。