Il mio approccio. Il nucleo è il motore. - pagina 2

 

non riusciva a superare... di quale risoluzione del monitor avete bisogno per vedere tali "grappoli" orizzontali di codice?

non è comodo guardare nell'editor e scorrere avanti e indietro per modificare o visualizzare il codice ))))

 

E così.

Il primo vantaggio del mio approccio è la brevità. Meno parole, più numeri. Un oggetto è un vettore. Un elemento è un complesso di vettori all'interno di una matrice. Un complesso di elementi è una finestra. Il complesso di finestre è il Nucleo.

Il punto è che un oggetto non deve essere necessariamente un grafico. Un elemento può essere trasformato in una nozione e dotato di non meno di un certo numero di oggetti e proprietà. E il motore sarà una macchina logica che lavora con questi concetti (Elementi).

 
Vasiliy Sokolov:

OOP è una metodologia molto flessibile, quindi non ha idee a priori come il concetto di "kernel". Tuttavia, il modello di kernel in questione può benissimo essere costruito usando OOP. Quindi l'affermazione non è del tutto corretta.

Sì, ho controllato io stesso e sono rimasto sorpreso - Peter sta descrivendo la cosa OOP così com'è.

Ma, come ho capito, Peter come dignità fa emergere la capacità dell'utente di avere pieno accesso a tutte le proprietà e metodi del Kernel. E lo stile OOP è proprio l'incapsulamento, quando i diritti di accesso sono limitati in ogni modo.

Mi ricordo che quando ero giovane, anch'io ero spaventosamente indignato che in modalità protetta non avevo accesso a tutta la memoria del computer. Come poteva essere che alcuni, sapete, programmi si avviassero e non potessi accedere alla loro memoria... Appositamente costruito "workaround" dalla programmazione del controller di accesso diretto alla memoria, anche ottenuto il contenuto della memoria di un altro processo, inaccessibile a me dal programma (anche se, per questo devo usare comandi per accedere alle porte del controller RAP, e questo in sé non è facile in ambiente Windows multitasking, ho usato driver speciali).

E solo allora ho capito che la modalità protetta, la condivisione degli accessi (e l'incapsulamento in generale) è una cosa molto importante, di cui avevo bisogno. Per non entrare accidentalmente in cose che non dovrei. E così ora sto fermamente sulla posizione "solo quelle risorse, proprietà e metodi che sono necessari al processo in qualsiasi punto del programma al momento".

Ma Peter, da quanto ho capito, non è un sostenitore dell'incapsulamento.

 
Igor Makanu:

non riusciva a superare... di quale risoluzione del monitor avete bisogno per vedere tali "grappoli" orizzontali di codice?

è scomodo guardare nell'editor e scorrere avanti e indietro per modificare o visualizzare il codice ))))

Come ho detto prima, la convenienza non è la cosa principale nel mio approccio. La cosa principale è l'efficienza e il potenziale di sviluppo e applicazione.

 
Реter Konow:

Come ho detto, la convenienza non è la cosa principale nel mio approccio. La cosa principale è l'efficienza e il potenziale di sviluppo e applicazione.

OK, aspetterò altri esempi di codice, ma finora vedo un codice molto illeggibile, forse qualcosa diventerà chiaro più tardi

 
Vasiliy Sokolov:

OOP è una metodologia molto flessibile, quindi non ha idee a priori come il concetto di "kernel". Tuttavia, il modello di kernel in questione può benissimo essere costruito usando OOP. Pertanto, l'affermazione non è del tutto corretta.

Un kernel condizionato può essere costruito. Credo che i programmi seri lo facciano. Ma ho tutto costruito su un kernel "fisico".

 
Igor Makanu:

OK, aspetterò altri esempi di codice, ma finora vedo un codice molto illeggibile, forse qualcosa diventerà chiaro più tardi

Guarda. Quello mostrato è solo un esempio generale. Ecco una versione più chiara.

  1. Vuoi disegnare un pulsante.
  2. Si crea un array e si memorizzano i valori delle proprietà del pulsante che si vuole creare.
  3. Button è composto da tre oggetti: Base, Testo, Immagine.
  4. Ogni oggetto esiste all'interno di un Button Element, quindi l'array deve essere bidimensionale.
  5. Ogni riga dell'array rappresenterà un oggetto dell'elemento Button.
  6. Tre oggetti rappresenteranno l'intero pulsante.

E così, avete costruito una matrice di tre vettori, ognuno dei quali porta le proprietà di un oggetto pulsante.

Poi, potete usare questa matrice come prototipo . Un modello in base al quale verrà creato qualsiasi altro pulsante. Tutto quello che dovete cambiare nella variante finale, alcuni valori di oggetti, e il nuovo pulsante sarà creato.

Fondamentalmente, si può fare la stessa cosa in OOP. Mauna classe è usata come modello. Uso un array come modello.

Questa è la differenza.

 
Реter Konow:

Come ho detto, la convenienza non è la cosa principale nel mio approccio. La cosa principale è l'efficienza e il potenziale di sviluppo e applicazione.

Il potenziale di sviluppo dipende anche dalla convenienza.
 
Dov'è il codice per poter controllare questi "bagni chimici" ()?
 
Vladimir Karputov:
Dov'è il codice per poter controllare questi "brandelli" ()?
Vieni sul codice, almeno il file ex4. Ho capito che per ora si tratta di MT4.
Motivazione: