Sto scrivendo una libreria di rete p2p completa sul server UDP di Indy con l'intenzione di pubblicarla online. Il design che ho implementato ha un gestore P2P (TIdUDPServer) che può fungere da server o peer. Ogni peer connesso è rappresentato da un oggetto separato che contiene funzionalità aggiuntive e informazioni su di essi. Le classi sono entrambe contenute in una singola unità.
Ai fini della semplificazione, ho dichiarato quei membri utilizzati da entrambi, protetti. In qualche modo, il mio istinto mi sta dando una brutta sensazione. Il gestore P2P ha pochissimi membri ma l'oggetto peer ha quasi tutto sotto protezione. Andando dall'altra parte introdurrà sicuramente molte chiamate di codice e metodo.
Devo saperlo;
- È una buona pratica per le biblioteche di networking avere membri protetti?
- Devo sostituire le variabili con le proprietà sotto protetto? Con getter e setter o accesso diretto andrebbe bene?