मुझे एसीएल के पदानुक्रम का सर्वोत्तम प्रबंधन कहाँ करना चाहिए?एसीएल विरासत का प्रबंधन कहां करें?
मैं तीन संभावनाओं को देखने एसीएल के एक पदानुक्रम के प्रबंधन के लिए:
1) एसीएल खुद को पदानुक्रम प्रबंधित करें:
class Acl {
Acl parent;
// ...
}
2) पदानुक्रम का प्रबंधन करने के लिए एक अलग वृक्ष संरचना का निर्माण ।
3) एसीएल के लिए निहित पदानुक्रम के रूप में पहले से ही मौजूदा पदानुक्रम का उपयोग करना (जैसे फाइल सिस्टम में पहले से ही पदानुक्रम है)।
निम्नलिखित कोड एक मौजूदा पदानुक्रम उपयोग करने के लिए एक संभावना होगा:
interface AclHolder {
Acl getAcl();
}
public class Folder implements AclHolder {
private AclHolder parent;
private Acl acl;
@Override
public Acl getAcl(){
return acl==null ? parent.getAcl() : acl;
}
}
एक और दृष्टिकोण नियमों का उपयोग करने के लिए क्या और क्या करने के लिए श्रेणीबद्ध है परिभाषित करने के लिए हो सकता है।
मुझे लगता है कि एक स्पष्ट एसीएल पदानुक्रम बनाने के लिए समस्याग्रस्त हो सकता है जैसे कि 1) और 2) क्योंकि इस पदानुक्रम को आमतौर पर सिस्टम संरचना को प्रतिबिंबित करना होता है और यह नकल का एक रूप है।
सबसे अच्छा तरीका क्या है?