Domande con tag 'encapsulation'

5
risposte

Devo incapsulare sempre una struttura di dati interna interamente?

Considera questa classe: class ClassA{ private Thing[] things; // stores data // stuff omitted public Thing[] getThings(){ return things; } } Questa classe espone la matrice che usa per memorizzare i dati, a qual...
posta 27.05.2014 - 03:23
4
risposte

Soffro di abuso di incapsulamento?

Ho notato qualcosa nel mio codice in vari progetti che mi sembrano odore di codice e qualcosa di brutto da fare, ma non riesco a gestirlo. Mentre provo a scrivere "codice pulito" tendo a sovra-usare i metodi privati per rendere il mio codice...
posta 16.04.2012 - 02:27
5
risposte

Come rendere ovvio che si stia accedendo a una funzione dall'esterno?

Questa è una domanda specifica. Sto cercando di mantenere tutto il possibile all'interno dei limiti delle unità di traduzione, esponendo solo alcune funzioni tramite il file .h . Cioè, sto dando il static linkage agli oggetti a livello...
posta 12.02.2014 - 14:38
4
risposte

I getter superficiali sono overlake sfacciati?

Qualcosa a cui non avevo mai pensato prima (sintassi AS3): private var m_obj:Object; protected function get obj():Object { return m_obj; } private var m_str:String; protected function get str():String { return m_str; } Almeno le so...
posta 24.10.2013 - 14:57
5
risposte

In che modo TDD verifica che gli oggetti vengano aggiunti a una raccolta se la raccolta è privata?

Supponiamo che ho pianificato di scrivere una classe che ha funzionato in questo modo: public class GameCharacter { private Collection<CharacterEffect> _collection; public void Add(CharacterEffect e) { ... } public void Remo...
posta 16.11.2012 - 22:19
2
risposte

Perché non dovrei rendere pubbliche le variabili, ma dovrei usare getter / setter pubblici? [duplicare]

Sto guardando un video tutorial in C ++. Sta parlando di variabili all'interno delle classi e asserisce che le variabili dovrebbero essere contrassegnate come private. Spiega che se voglio usarli pubblicamente, dovrei farlo indirettamente attr...
posta 13.07.2014 - 00:51
2
risposte

Il puntatore di ritorno agli oggetti composti viola l'incapsulamento

Quando voglio creare un oggetto che aggrega altri oggetti, mi trovo a voler dare accesso agli oggetti interni invece di rivelare l'interfaccia agli oggetti interni con le funzioni passthrough. Ad esempio, diciamo che abbiamo due oggetti: cl...
posta 27.09.2015 - 01:09
1
risposta

oggetti JavaScript e Crockford's The Good Parts

Ho riflettuto un po 'su come eseguire OOP in JS, specialmente quando si tratta di incapsulamento ed ereditarietà, di recente. Secondo Crockford, la classica è dannosa a causa di new (), e sia prototipale che classica sono limitati perché il l...
posta 01.11.2012 - 12:25
5
risposte

Il campo incapsulato C # è una violazione di YAGNI

Considera questi due modi per dichiarare un campo in una classe C # opzione A public class AuditController { public DataAccess Service; } opzione B public class AuditController { private DataAccess service; public DataA...
posta 24.08.2018 - 18:28
5
risposte

Le funzioni private dovrebbero essere mantenute agli stessi standard delle funzioni pubbliche?

Se sto costruendo funzioni di utilità privata, dovrebbero essere tenute agli stessi rigorosi standard in termini di gestione di dati non validi come funzioni pubbliche? Esempio: se sto scrivendo il codice per calcolare la lunghezza di un elen...
posta 14.02.2015 - 16:08