1
+ /* ============================================================================
2
+ MODULE JS:
3
+ FORMATUL DE MODUL - 'COMMONJS' (PT. 'NODE.JS')
4
+ ============================================================================== */
5
+
6
+ /*
7
+ (#1) CODUL JS --> SE 'PLASEAZA' IN 'FISIERE SEPARATE'
8
+ --> DENUMITE 'MODULE'
9
+
10
+ (#2) AVANTAJELE 'MODULELOR':
11
+ => MENTENABILITATEA;
12
+ => UZABILITATEA,
13
+ => ABSTRACTIZAREA
14
+
15
+
16
+ (#3) IN 'ES5' --> 'NU EXISTA' CONCEPTUL DE 'MODULE'
17
+
18
+ (#4) ''FORMATURI DE 'MODULE':
19
+
20
+ [1] 'AMD' (Asynchronous Module Definition) -> PT. 'BROWSER'
21
+ [2] 'CommonJS' (Common JavaScript) -> PT. 'Node.js'
22
+ [3] 'UMD' Universal Module Definition) -> PT. 'BROWSER'/'Nose.js'
23
+ [4] 'ES6 Modules' (EcmasScript Modules) -> PT. 'BROWSER'
24
+
25
+ (#) COEZIUNEA / COHESION:
26
+ => ESTE PROCESUL DE 'GRUPARE IMPREUNA' A 'OBIECTELOR ASEMANATOARE'.
27
+
28
+ (#) IN MOD IMPLICIT
29
+ => 'TOT CE SE PLASEAZA' INTR-UN 'MODUL'
30
+ => SE CONSIDERA IZOLAT (NU POATE FI ACCESAT DIN EXTERIOR)
31
+ => DACA NU IL 'EXPORTAM' EXPLICIT.
32
+
33
+ (*) 'EXPORTAREA MODULELOR' IN 'NODE.JS' SAU 'CommonJS':
34
+ EX. - 'EXPORTAREA' UNEI 'PROPRIETATI' CU 'VALOAREA CLASEI'
35
+ module.exports.Cerc = Cerc;
36
+
37
+ EX. - 'EXPORTAREA' 'MODULULUI' RETURNEAZA 'VALOAREA CLASEI':
38
+ module.exports = Cerc;
39
+
40
+
41
+ (*) CLASA 'EXPORTATA'
42
+ => SE NUMESTE 'INTERFATA PUBLICA'.
43
+
44
+
45
+ (*) PROP. PRIVATA (PRIN DICTIONARUL 'WEAKMAP()')
46
+ => SE NUMESTE 'DETALIU DE IMPLEMENTARE'.
47
+
48
+
49
+ (*) 'IMPORTAREA MODULELOR'
50
+ => SE REALIZEAZA PRIN FUNCTIA
51
+ => FORMATULUI CommonJS - 'REQUIRE()'.
52
+
53
+ */
54
+
55
+
56
+
57
+ //=================================================================
58
+ // (1) IMPORTAREA MODULULUI 'CERC':
59
+ //=================================================================
60
+ const Cerc = require ( 'CommonJS/cerc' ) ;
61
+
62
+
63
+ //=================================================================
64
+ // (2) CREAREA OBIECTULUI 'CERC':
65
+ //=================================================================
66
+ const c = new Cerc ( 1 ) ;
67
+
68
+
69
+ //=================================================================
70
+ // (3) APELARE MET. 'DESEN()':
71
+ //=================================================================
72
+ c . desen ( ) ;
0 commit comments