ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ MVC β JavaScript β ΠΠΎΠΊΠ°
Designing is fundamentally about taking things apart… in such a way that they can be put back together. So separating things into things that can be composed that’s what design is.
β Rich Hickey Design. Composition and Performance
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π° Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅:
- ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅;
- ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ;
- Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠΎΡΠΌΡ;
- Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΡΠΊΡΠΈΠΏΡΡ;
- Π²ΡΠ·Π²Π°ΡΡ ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ API ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ.
Π‘ΡΠΈΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ Π΄Π΅Π»ΠΈΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠΉΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΡΠ²ΠΎΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ β Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΡΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ MVC.
π
ΠΡΠΎ ΡΡΠ°ΡΡΡ ΠΈΠ· ΡΠΈΠΊΠ»Π° ΠΎΠ± Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈ ΠΏΠΎΠ»ΡΠ·Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΈΠ· ΡΠΈΠΊΠ»Π°. Π ΡΡΠΎΠΉ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ°ΡΡΡΡ β ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΡΠ°ΡΠΊΠΎ
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΡΠ°ΡΠΊΠΎ»MVC (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ModelβViewβController) β ΡΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»ΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΡΠΈ Π³ΡΡΠΏΠΏΡ:
- ΠΌΠΎΠ΄Π΅Π»Ρ (model),
- ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (view),
- ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ (controller).
ΠΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΈΡ Π·Π°ΠΊΠ°Π·ΠΎΠ² Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ²ΡΡΡΡΠ°Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΡΠ° ΠΈΠ»ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Π£Π΄Π°Π»ΠΈΡΡ Π·Π°ΠΊΠ°Π·Β», ΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΡΠΌΠ΅ΡΠ°Π΅Ρ ΡΡΠΎΡ Π·Π°ΠΊΠ°Π· Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌ.
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ»Π Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ MVC ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ β ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ UI.
π§βπ»
ΠΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π³Π΄Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠΉ ΠΈΠ»ΠΈ ΠΆΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π½ΠΎ Π² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ β ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, GUI.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠΎΠ΄Π΅Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π΄Π°Π½Π½ΡΡ .
π‘
Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ MVC ΡΠΎΠ±ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠ½ΠΎΠ³Π΄Π° ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠ²Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠ±Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΡΠΎΠ½Π°ΡΠΈΠΊ. Π£ Π½Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄Π²Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ: Π²ΠΊΠ»ΡΡΡΠ½ ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½. Π‘ΠΎΡΡΠΎΡΠ½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«On/OffΒ». Π’Π°ΠΊΠΆΠ΅ Ρ Π½Π΅Π³ΠΎ Π±ΡΠ΄ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΈ Π½ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΌΠ΅Π½ΡΡΡ ΡΠ²Π΅Ρ Π»Π°ΠΌΠΏΠΎΡΠΊΠΈ Π½Π° ΡΠΈΠ½ΠΈΠΉ ΠΈ ΠΆΡΠ»ΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ MVC.
ΠΠΎΠ΄Π΅Π»Ρ
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΠΎΠ΄Π΅Π»Ρ»ΠΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ ΡΠ°ΠΌΡΠΉ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π°Π²ΠΈΡΠΈΡ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ.
π
ΠΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ· ΡΡΡΡ ΡΠ»ΠΎΠΉΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
Π ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠ½Π°ΡΠΈΠΊΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΡ Π΅Π³ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΠΌ:
const flashLightModel = { isOn: false, color: "blue",}
const flashLightModel = {
isOn: false,
color: "blue",
}
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΊΠ»ΡΡΠΈΡ ΡΠΎΠ½Π°ΡΠΈΠΊ, ΠΏΠΎΠ»Π΅ is
Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true
, Π·Π° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠΎΠ»Π΅ color
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ, ΠΊΠ°ΠΊΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΡΠΎΠ½Π°ΡΠΈΠΊ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠ΅ΡΡ.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ»ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΎΠ½Π°ΡΠΈΠΊΠ°:
const flashLightController = { toggle() { flashLightModel. isOn = !flashLightModel.isOn },}
const flashLightController = {
toggle() {
flashLightModel.isOn = !flashLightModel.isOn
},
}
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ, ΠΊΠ°ΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ Π½Π°ΠΆΠ°Π»ΠΈ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ²Π΅Ρ:
const flashLightController = { // ΠΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ selectColor(e) { const buttonName = e.target.name const buttonColors = { daylight: "blue", nightlight: "yellow", } const preferredColor = buttonColors[buttonName] flashLightModel.color = preferredColor },}
const flashLightController = {
// ΠΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄
selectColor(e) {
const buttonName = e.target.name
const buttonColors = {
daylight: "blue",
nightlight: "yellow",
}
const preferredColor = buttonColors[buttonName]
flashLightModel.color = preferredColor
},
}
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΠΊΠ½ΠΎΠΏΠΊΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° Π½Π°ΠΆΠ°Π»ΠΈ: Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½ΠΎΡΠ½ΠΎΠ³ΠΎ.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅»ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠ½Π°ΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π³ΠΎΡΠ΅ΡΡ Π΄Π²ΡΠΌΡ ΡΠ²Π΅ΡΠ°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΠ².
<div></div><button type="button" name="power">ΠΠΊΠ»ΡΡΠΈΡΡ</button><button type="button" name="daylight">ΠΠ½Π΅Π²Π½ΠΎΠΉ ΡΠ²Π΅Ρ</button><button type="button" name="nightlight">ΠΠΎΡΠ½ΠΎΠΉ ΡΠ²Π΅Ρ</button><div></div> <button type="button" name="power">ΠΠΊΠ»ΡΡΠΈΡΡ</button> <button type="button" name="daylight">ΠΠ½Π΅Π²Π½ΠΎΠΉ ΡΠ²Π΅Ρ</button> <button type="button" name="nightlight">ΠΠΎΡΠ½ΠΎΠΉ ΡΠ²Π΅Ρ</button>
ΠΡΠΎΠΌΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ½Π°ΡΠΈΠΊΠ°:
const flashLightView = { redraw() { const { isOn, color } = flashLightModel const flash = document. querySelector(".flashlight") flash.classList.add(`has-color-${color}`) if (isOn) { flash.classList.add("is-on") } },}flashLightView.redraw()const flashLightView = { redraw() { const { isOn, color } = flashLightModel const flash = document.querySelector(".flashlight") flash.classList.add(`has-color-${color}`) if (isOn) { flash.classList.add("is-on") } }, } flashLightView.redraw()
Π ΡΠ°ΠΊΠΆΠ΅ β ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΄Π°Π²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ:
const flashLightView = { // ΠΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ initEvents() { const powerButton = document.querySelector(`[name="power"]`) powerButton.addEventListener("click", () => flashLightController.toggle()) // ΠΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠ½ΠΎΠΏΠΎΠΊ },}
const flashLightView = {
// ΠΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄
initEvents() {
const powerButton = document.querySelector(`[name="power"]`)
powerButton.addEventListener("click", () => flashLightController. toggle())
// ΠΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠ½ΠΎΠΏΠΎΠΊ
},
}
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²»ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ MVC ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ β ΡΠΎ Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ »Π ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ MVC ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅:
- ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ;
- ΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ β ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ;
- ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ;
- ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ.
βοΈ
ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π΄Π°Π½Π½ΡΡ .
ΠΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°ΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π½Π΅ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅, Π½ΠΎ ΠΌΡ Π²ΡΡ ΠΆΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π½Π΅ ΠΎΡΡ ΠΎΠ΄ΠΈΡΡ ΠΎΡ ΠΊΠ°Π½ΠΎΠ½Π°.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ?
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ?»Π MVC ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡ, ΠΊ ΡΠ΅ΠΌΡ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠ΄: ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ Π΄Π°ΠΆΠ΅ Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ°.
const flashLightView = { // ... initEvents() { const powerButton = document.querySelector(`[name="power"]`) powerButton.addEventListener("click", () => flashLightController.toggle()) },}
const flashLightView = {
// ...
initEvents() {
const powerButton = document.querySelector(`[name="power"]`)
powerButton.addEventListener("click", () => flashLightController.toggle())
},
}
ΠΠ΅ΡΠΎΠ΄ init
Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΈ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² β ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°.
Π’Π°ΠΊ ΠΆΠ΅ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ select
Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅:
const flashLightController = { // ΠΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ selectColor(e) { const buttonName = e.target.name const buttonColors = { daylight: "blue", nightlight: "yellow", } const preferredColor = buttonColors[buttonName] flashLightModel.color = preferredColor },} const flashLightController = { // ΠΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ selectColor(e) { const buttonName = e.target.name const buttonColors = { daylight: "blue", nightlight: "yellow", } const preferredColor = buttonColors[buttonName] flashLightModel.color = preferredColor }, }
ΠΡΠ»ΠΈ ΠΌΡ ΡΠ΅ΡΠ°Π΅ΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ β ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ½Π΅ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ±ΠΎΡΠ° ΡΠ²Π΅ΡΠ° Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π° Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠ°:
const flashLightController = { updateColor(color) { flashLightModel.color = color },}
const flashLightController = {
updateColor(color) {
flashLightModel.color = color
},
}
Π’Π°ΠΊ ΠΊΠ°ΠΊ MVC ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ, ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ» Π·Π΄Π΅ΡΡ Π½Π΅Ρ, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ:
- Π‘ΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
- ΠΡΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π°ΡΡΡΠ°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎΠΈΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ.
- ΠΡΠ°Π²ΠΈΠ»Π° ΡΡΠΎΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠ· Π·ΠΎΠ½ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π°ΡΠ°Π½Π΅Π΅.
ΠΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ?
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ?»ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ MVC β ΠΊΠ°ΠΊΠ°Ρ Π·ΠΎΠ½Π° ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, Π³Π΄Π΅ ΠΎΠ½Π° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ.
π
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΡΡΠΌ. Π’ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠ΅Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ β ΡΠΎΠ½ΠΊΠΈΠΌ.
ΠΡΠΈ ΡΠΎΠ½ΠΊΠΎΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Π·Π½Π°Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΡΡΠΎΡΠΈΡΡ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Β«ΡΠ°Π·ΠΌΠ°Π·ΡΠ²Π°ΡΡΒ» ΡΡΠΎ Π·Π½Π°Π½ΠΈΠ΅ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ.
Π’Π°ΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΡΠΎΠ½ΠΊΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. Π Π°Π·Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ°ΡΡ Π΅Ρ ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ, ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡΠ½Π½ΠΎΡΡΠ΅ΠΉ ΠΈ Π²ΡΠ³ΠΎΠ΄ ΠΈ ΠΈΠ·Π΄Π΅ΡΠΆΠ΅ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΎΡ ΠΎΠΆΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ΠΠΎΡ ΠΎΠΆΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ»ΠΡΠΎΠΌΠ΅ MVC Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΠ»ΡΡΠ°ΡΡ ΠΎ Π΄ΡΡΠ³ΠΈΡ Π²Π°ΡΠΈΠ°ΡΠΈΡΡ ΡΡΠΎΠΉ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· Π²Π°ΡΠΈΠ°ΡΠΈΠΉ β ΡΡΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½, ΡΠ»Π΅Π³ΠΊΠ° ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠΉΡΡ ΠΎΡ MVC ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
π©
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° MVC ΠΈ Π΅Π³ΠΎ Π²Π°ΡΠΈΠ°ΡΠΈΠΉ. Π§ΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ, ΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΡΠ°ΡΡΡ Β«MVC and its alternativesΒ».
ModelβViewβViewmodel
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «ModelβViewβViewmodel»Π MVVM (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ModelβViewβViewmodel) Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Viewmodel. ΠΡΠΎ Β«Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠ°Β» Π½Π°Π΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΌΠΈΠΌ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ UI ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ Π½ΡΠΆΠ΅Π½ Binder (Π±ΠΈΠ½Π΄Π΅Ρ) β ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠΉ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² UI.
πΎ
Svelte Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π±ΠΈΠ½Π΄Π΅ΡΠΎΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Model-View-Presenter
Π‘Π΅ΠΊΡΠΈΡ ΡΡΠ°ΡΡΠΈ «Model-View-Presenter»Π MVP (ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ Model-View-Presenter) ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠ΅Π·Π΅Π½ΡΠ΅Ρ.
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ MVC Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠ»ΠΈ Π² MVC Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΏΠΎ ΠΊΡΡΠ³Ρ, ΡΠΎ Π² MVP ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎ Π»ΠΈΠ½ΠΈΠΈ. ΠΠ° ΠΊΠΎΠ½ΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Π° ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ β ΠΏΡΠ΅Π·Π΅Π½ΡΠ΅Ρ.
ΠΡΠ΅Π·Π΅Π½ΡΠ΅Ρ Π·Π°Π±ΠΈΡΠ°Π΅Ρ Π½Π° ΡΠ΅Π±Ρ Π²ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ°ΡΡΠΈΠ²Π½ΠΎ: ΠΎΠ½ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΠΌΡ ΡΠΊΠ°ΠΆΠ΅Ρ ΠΏΡΠ΅Π·Π΅Π½ΡΠ΅Ρ. ΠΡΠ»ΠΈ Π² MVC ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΠ°ΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠ΅Π±Ρ, ΡΠΎ Π² MVP Π·Π° ΡΡΠΎ ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΏΡΠ΅Π·Π΅Π½ΡΠ΅Ρ.
ΠΠ»ΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΊ ΡΠ΅ΠΌΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ. ΠΠΈΠ½ΡΡ β Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠ΅Π·Π΅Π½ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌ. ΠΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΠ΅, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Β«ΡΠ»ΠΎΠΈΒ».
ΠΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC β ΡΡΠΎ ΡΡΠΎ? PHP ΠΈ MVC
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠΉΠ΄Π΅Ρ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ ΠΏΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ MVC β ΡΡΠΎ ΡΡΠΎ, ΠΊΠ°ΠΊΠΎΠ²Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΠΎΠ΄Π΅Π»Ρ, ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² MVC? Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° PHP Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° MVC.
ΠΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Model β View β Controller. Π Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ, Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ Ρ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ MVC, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΡΠΎ: β ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° 3 ΡΠ°ΡΡΠΈ; β ΠΏΠ°ΡΡΠ΅ΡΠ½ (pattern) ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ ΡΡΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π²Π°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ: ΠΏΠΎ ΡΡΡΠΈ, MVC β ΡΡΠΎ Π½Π΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΡΠ°ΠΊΠΎΠ²ΠΎΠΉ, Π°, ΡΠΊΠΎΡΠ΅Π΅, Π½Π°Π±ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΈ ΠΈΠ΄Π΅ΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΎΡΠ½Π°ΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. Π§ΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠΈ ΡΡΠΎΠΉ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΡ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎ Π½Π°Π±ΠΎΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΠΈΠ΄Π΅ΠΉ, ΠΏΡΠΈΠ½ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ MVC ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠΌ/ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ/ΠΌΠΎΠ΄Π΅Π»ΡΡ/ΡΡ Π΅ΠΌΠΎΠΉ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ web-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ. ΠΠ½Π° Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄. Π’Π°ΠΊΠΆΠ΅ ΡΡΠ° ΡΡ Π΅ΠΌΠ° ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΡΠ΄Π°Π»ΡΡΡ Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅: ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ, ΠΠΎΠ΄Π΅Π»Ρ, ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π² MVC?
ΠΡΠ΄Π΅Π»ΡΡΡ 3 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ β ΠΠΎΠ΄Π΅Π»Ρ, ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠ°ΠΊ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅:
ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΡΠΈ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠ»ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠΎΠΈΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΠΎΠ΄Π΅Π»Ρ
ΠΠΎΠ΄Π΅Π»Ρ β ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠ΅. ΠΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, Π·Π°ΠΏΠΈΡΠΈ, ΠΎΡΠ±ΠΎΡΠ°. Π’Π°ΠΊΠΆΠ΅ Model Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠΎΡΡΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ View ΠΈ Controller.
Π§ΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ? Π£ Model ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ»ΡΡΠ°Π΅ΡΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π° Controller ΠΈ View. ΠΠ»Π°Π²Π½ΠΎΠ΅, Π·Π° ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Model, β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ ΠΏΠΎΠΈΡΠΊ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΌ.
ΠΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΡ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΡΡΠΎ Model Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΎΠ»ΠΈ ΠΏΡΠΈΠ²ΡΠ°ΡΠ½ΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΆΡΡΠΈΡ Π²ΠΎΠ·Π»Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π΅ Π·Π°Π΄Π°Π΅Ρ Π»ΠΈΡΠ½ΠΈΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊ Π½Π΅ΠΌΡ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ. ΠΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΠΎΠ΄Π΅Π»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ MVC ΠΏΠ°ΡΡΠ΅ΡΠ½Π°. Π’Π°ΠΊΠΆΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ Model ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²Π΅ΡΡΠΈΠ½Ρ ΠΎΠ±ΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ, Π²Π΅Π΄Ρ Π±Π΅Π· Π½Π΅Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΠΎ.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π΄Π°Π½Π½ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Ρ Β«ΠΠΎΠ΄Π΅Π»ΠΈΒ», Π·Π°Π΄Π°Π΅ΡΡΡ Π²ΠΈΠ΄ ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ Π²ΠΎ View Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΊΠΎΠ΄ HTML. Π’Π°ΠΊΠΆΠ΅ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠ·Π΅ΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΡΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ControllerβΡ. Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΠΊΠ½ΠΎΠΏΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΠ΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ, Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΆΠ΅ Π² ControllerβΠ΅.
ΠΠ°ΠΆΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² Controller Π½Π°ΠΏΡΡΠΌΡΡ (ΠΌΠ΅ΠΆΠ΄Ρ View ΠΈ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ Π½Π΅Ρ ΠΏΡΡΠΌΠΎΠΉ ΡΠ²ΡΠ·ΠΈ β ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΠΎΠ΄Π΅Π»ΠΈ).
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
Π§ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π² MVC? ΠΠ³ΠΎ Π·Π°Π΄Π°ΡΠ° β ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Model. ΠΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡ Π΅ΠΌΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ Controller ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Model, Π³Π΄Π΅ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΡΡΠ³ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠ±ΠΎΡΠ° Π²Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ. ΠΡΠΈΡΠ΅ΠΌ Controller ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Model ΠΈ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ View. Π’ΠΎ Π΅ΡΡΡ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, Π³Π΄Π΅ Π² ΡΠΎΡΠΊΠ°Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ Π²Ρ ΠΎΠ΄ ΠΈ ΠΎΠ΄ΠΈΠ½ Π²ΡΡ ΠΎΠ΄.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΈΡΠ΅ΠΌ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ β ΡΡΠΎ Π½Π΅ ΡΠ»ΡΠ·, ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² β ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π΅ΠΌΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΡΡΠ³Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° β Π½Π°Π΄Π΅Π»ΡΡΡ Controllers ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΌΠΈ Π»ΠΈΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· Model Π²ΠΎ View. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΉΡΠΈ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Models ΠΈ Views.
ΠΠΎΠ΄Π΅Π»Ρ MVC ΠΊΡΠ°ΡΠΊΠΎ β ΡΡΠΎ ΡΡΠΎ: β ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° 3 ΡΠ°ΡΡΠΈ: β’ Model β ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½ΡΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ Π² ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅; β’ View. ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΠΎΠ΄Π΅Π»ΠΈ, Π° ΠΏΠΎΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΅Π΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ; β’ Controller. ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΠΈΡ ΠΠΎΠ΄Π΅Π»ΠΈ.
Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² MVC, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ PHP web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ. ΠΠΎΠ»ΡΡΠΈΡ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ ΡΡΠΎ Π½Π΅ Π²ΡΠ·ΠΎΠ²Π΅Ρ.
ΠΠ°ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Ρ ΠΊΠ°ΡΠΊΠ°ΡΠ°:
Π§ΡΠΎ ΠΆΠ΅, ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° ΡΠΆΠ΅ Π΅ΡΡΡ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΠΏ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΡΡΡΠΌΠΈ:
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ PHP MVC, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²ΡΡΠ΅, ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π΄Π»Ρ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ°ΡΠΎ ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», Π²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° β Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ:
ΠΠΎΠ΄ Π±ΡΠ» ΡΠ°ΡΡΠΈΡΠ΅Π½ Π±Π°Π·ΠΎΠ²ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΡΡΡΠ»ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΡΠ°ΡΡΠ΅ Π±ΡΠ»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π±Π°Π·ΠΎΠ²Π°Ρ ΡΠ΅ΠΎΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ MVC (ΡΡΠΎ ΡΡΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ). Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° PHP, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ MVC.
ΠΡΡΠΎΡΠ½ΠΈΠΊ β https://www.sitepoint.com/the-mvc-pattern-and-php-1/.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC | ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ | ΠΠ°Π²ΡΠΊΠΈ | Scope
Π¨Π°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΊΠ°ΠΊ Model-View-Controller. ΠΡΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π΅Π»ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΈ ΡΠ°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌΠΈ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. ΠΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π΄ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π»ΠΈ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ. Π’Π΅ΠΎΡΠΈΡ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Model-View-Controller Pattern. Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Ρ ΡΠ°ΡΡΠ΅ΠΉ:
1. ΠΠΎΠ΄Π΅Π»Ρ
ΠΡΠ° ΡΠ°ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠ½ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ½ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ½ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ.
2. ΠΠΈΠ΄
ΠΡΠ° ΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΡΠΎΠΉ ΡΠ°ΡΡΠΈ β ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π Π°Π·Π΄Π΅Π» ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ, ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΎ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
3. ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
ΠΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π²Π²ΠΎΠ΄ Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΈ ΡΠ°ΡΡΡΡ Π²ΠΈΠ΄Π°. ΠΠΎΠ΄Π΅Π»Ρ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΡΠ°ΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ°ΠΊ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ?
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ»Π΅Π΄ΡΡΡ ΡΡΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π»Π΅Π³ΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC, ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΈ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΊΠΎΠ΄Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΡΠΈΠ»ΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
ΠΠ΅Π΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π²Π΅Π΄ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC:
- Microsoft
- ΠΠ΄ΠΈ ΠΏΠ°ΠΏΠΎΡΠΊΠ°,
- ΠΠ΅Π»Π»
- Visual Studio
- ΠΠΈΠΊΠ°Ρ ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC?
ΠΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C#, Python, PHP ΠΈ Java, ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠ΅ΠΎΡΠΈΠΈ MVC. Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ΄ΠΎΠΌ. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² MVC ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅Π³ΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ. Π’Π΅ΠΎΡΠΈΡ MVC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π½Π°Π±ΠΎΡΠ°Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Java Swing, Apple Cocoa ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ MFC.
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC
MVC ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΉΠ»Ρ HTML ΠΈΠ»ΠΈ XHTML, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π° Π·Π°ΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΠ΅Π³ΠΎΡΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΌΡ ΡΡΠΎΠ²Π½Ρ, ΡΠ΄Π°Π»Π΅Π½ΠΎ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π¨Π°Π±Π»ΠΎΠ½ MVC ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC:
- ΠΠ»Ρ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΎΠ²
- Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π² Π±ΡΠ΄ΡΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ .
- Π’Π΅ΠΎΡΠΈΡ MVC ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠ·ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ.
- ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
- ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅.
Π’ΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π½Π°Π²ΡΠΊΠΈ
ΠΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², Π° ΡΠ°ΠΊΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Python, Java ΠΈΠ»ΠΈ C#, Π΄Π°Π΄ΡΡ ΡΠΎΠ»ΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΌΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ. MVC Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΡΠΆΠ±Ρ, ΡΡΠΎΠ²Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ.
ΠΠΎΡΠ΅ΠΌΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC?
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΡΡ Π΄Π°Π½Π½ΡΡ , Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Ρ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠ½ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
MVC ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ JavaScript MVC, Ember JS ΠΈ Backbone, ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ MVC Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΠ±ΡΠ΅ΠΌ
ΠΠ±ΡΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ³ΠΎ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ. ΠΠΎΡΡΠΈ Π²ΡΠ΅ Π²Π΅Π΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΎΡΡΠ°ΡΠ»ΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Π²Π΅Π±-ΡΠ°ΠΉΡΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.
ΠΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ MVC Design Pattern?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ. Π£ΡΠ°ΡΠΈΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²Π»Π΅ΡΠ΅Π½Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΠ°ΠΊ ΡΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π² ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠ΅?
ΠΠ½ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²ΠΈΠ» Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π°Π²ΡΠΊΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΠΎΡΠΈΡ MVC. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π½Π°Π²ΡΠΊΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΠ΅ΠΌΡΡΡ ΡΠ»ΡΡΡΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ, Π½ΠΎ ΠΈ ΡΠ²ΠΎΠΈ Π±ΡΠ΄ΡΡΠΈΠ΅ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ. ΠΡΠΈ Π½Π°Π²ΡΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΡΠ°ΡΠΈΠΌΡΡ Π² Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ°Ρ Π²Π»ΠΈΡΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΎΡΡ Π² ΠΈΡ ΠΊΠ°ΡΡΠ΅ΡΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ. ΠΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠ°Π·ΠΎΠ²ΡΠ΅ ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Π΅ΠΎΡΠΈΡ MVC ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ»ΡΠ³ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΏΡΠΈΠ΅ΠΌΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ MVC ΠΈ Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΡΡΠ°ΡΡΠΈ
ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC. ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ, ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠ°ΡΡΠ΅ΡΡ ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π°ΡΠΈ ΡΡΠ°ΡΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ β
- MVC ViewData
- TempData Π² MVC
- Entity Framework Π² MVC
- Π Π°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉΡΡ ΡΠΏΠΈΡΠΎΠΊ MVC
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° MVC Π·Π° 5 ΠΌΠΈΠ½ΡΡ: ΡΡΠ΅Π±Π½ΠΈΠΊ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ»Π°Π²Π½Π°Ρ/ΠΠ»ΠΎΠ³/Π£ΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°/ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° MVC Π·Π° 5 ΠΌΠΈΠ½ΡΡ: ΡΡΠ΅Π±Π½ΠΈΠΊ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
11 ΠΌΠ°Ρ 2020 Π³. — 5 ΠΌΠΈΠ½. ΡΡΠ΅Π½ΠΈΡ
ΠΡΠΈΠ½ ΠΠΎΡΡΡΠΈ
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ β ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΠ΅Π΄Π°Ρ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±ΡΡΠ½ΠΎ Python, Ruby, PHP, JavaScript ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ. ΠΠ½ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π ΡΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Π±Π»ΠΎΠ³Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΠΎΠ΄Π΅Π»Ρ-ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ (MVC) ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΠΎΠ΄Π΅Π»Ρ-ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π² JavaScript/HTML/CSS.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ:
- Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° MVC?
- ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° MVC
- ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ MVC
- Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ
- ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° MVC
- Π Π΅ΡΡΡΡΡ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° MVC?
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π° MVC ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π¨Π°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ MVC ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ.
ΠΠΎΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π·Π°Π±ΠΎΡΡΡΡΡ ΠΎ MVC? MVC ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π¨Π°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Model View Controller ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΠΎΠ΄Π½Ρ ΠΈΠ· 3 Π³ΡΡΠΏΠΏ:
- Model
- View
- Controller
Π¨Π°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Model View Controller: ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Model View Controller ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΠΈ Π½Π° ΠΎΠ΄Π½Ρ ΠΈΠ· 3 Π²Π΅Π΄ΡΠ°:
- ΠΠΎΠ΄Π΅Π»Ρ: Ρ
ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠΌΠΈ.
Π§Π°ΡΡΠΎ ΡΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , Π² Π½Π°ΡΠ΅ΠΌ Π±ΡΡΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π²Π΅Π±-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ.
- ΠΠΈΠ΄: ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ β ΡΡΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°, Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°, ΡΠ°Π±Π»ΠΈΡΠ°, ΡΠΎΡΠΌΠ°.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ Π²Π²ΠΎΠ΄Π°.
- ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ: ΠΠΎΠ·Π³ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ Π²ΠΈΠ΄. ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅/ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²Π²ΠΎΠ΄ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΠΎΠ³ΠΈΠΊΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΎΠ΄Π° Π² Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡ Π½Π° ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π΄ΠΈΡΠΏΠ»Π΅Π΅.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° MVC
- Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² (GUI)
- ΠΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
- ΠΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ MVC ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
- MVC ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ: ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°
- Π₯ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Ruby on Rails
- Π‘Π»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ
- Π£Π΄Π°Π»ΡΠ΅Ρ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
- ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
- MVC ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
- ΠΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
- Π Π°ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄
- ΠΡΡΠΎΠΊΠ°Ρ ΡΠ²ΡΠ·Π½ΠΎΡΡΡ
- ΠΡΠΎΡΡΠΎΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ
- ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ°ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ (ΠΠΎΠ΄Π΅Π»Ρ9,03,ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ8)
ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ MVC
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΡΠΌΠ°ΡΡ ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°ΠΊ ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ. MVC ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΈΡΠΈΠ½ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ MVC ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π·Π°Π΄Π°ΡΠΈ β ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΌΠ΅ΠΆΠ΄Ρ 3 ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΌΠΎΠ³ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ.
ΠΠΎΠ΄Π΅Π»Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ Π·Π°Π²ΠΈΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ? ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π°Π΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ β Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅Π½ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°, Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°.
Π‘Π»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ
Π‘Π»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ°ΡΡΡ: ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ°ΡΡΠ΅ΠΉ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ 2 ΡΠ°ΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ MVC Π»ΠΎΠ³ΠΈΠΊΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ°. ΠΡΠ΅ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ β ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π·Π°Π²ΠΈΡΡΡΠ΅ΠΉ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠΈΠ·Π°ΠΉΠ½ MVC: ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ MVC
MVC Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ°Ρ Π²ΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ MVC, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ, Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡΠ΅ ΠΈΠ·ΡΡΠ°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ JavaScript, ΠΎΠ±Ρ ΠΎΠ΄Π° DOM ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
ΠΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΊΡΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠΎΠ»Π½ΡΠΉ ΠΊΡΡΡ JavaScript: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π½ΡΠ»Ρ
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° MVC
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. Π Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ΄Π΅Π»Ρ
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Β«ΠΠ³ΡΠΎΠΉ ΠΏΡΠ΅ΡΡΠΎΠ»ΠΎΠ²Β» ΠΌΠΎΠ΄Π΅Π»Ρ β ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅Π»ΡΠ½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π΄ΠΎΠΌΠ° ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΠΌΡ Π½Π΅ ΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ Π½Π° JavaScript, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΈ GOT Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΠΌ, Π½ΠΎ ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π±Π»ΠΎΠ³Π΅.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² ΠΎΠΊΠ½Π΅ Π²ΡΠ²ΠΎΠ΄Π° β ΡΡΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ°.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ β ΡΡΠΎ ΠΌΠΎΠ·Π³ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β JavaScript, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΊΠ»ΠΈΠΊΠ°. ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΈ ΠΈΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ β Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ»Π΅Π½ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π΄ΠΎΠΌΠΎΠΌ. ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ : ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Π΅Π³ΠΎ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ
RUN
.