ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠ»Π΅ΠΊΡΠΈΡ DI-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ (~1.5 ΡΠ°ΡΠΎΠ²)
-
Π Π°Π·ΠΌΠΈΠ½ΠΊΠ°. Π ΠΊΠ»Π°ΡΡΠ΅ Program ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΠΉΡΠ΅ Main ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ MainForm ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ. Π£Π΄Π°Π»ΠΈΡΠ΅ Ρ MainForm ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π» Π² MainForm ΡΠΏΠΈΡΠΎΠΊ IUiAction.
-
INeed. ΠΠ·ΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ KochFractalAction. ΠΠ·ΡΡΠΈΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠΊΡ ΡΠ°Π±ΠΎΡΡ INeed ΠΈ DependencyInjector. ΠΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ.
-
Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠ»Π°ΡΡ KochFractalAction ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ IImageHolder ΠΈ Pallette ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ²Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° INeed.
ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π² MainForm ΠΈ KochFractalAction ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ PictureBoxImageHolder.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ°Π»ΠΈΡΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠΎΡ Π° Π²ΡΡ Π΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
-
ΠΡΠ΅ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³. ΠΠ·ΡΡΠΈΡΠ΅ KochFractalAction ΠΈ ΠΏΠΎΠΉΠΌΠΈΡΠ΅, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ IImageHolder ΠΈ Pallette Π΅ΠΌΡ Π½Π΅ Π½ΡΠΆΠ½Ρ. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π» ΡΠΎΠ»ΡΠΊΠΎ KochPainter.
-
Π€Π°Π±ΡΠΈΠΊΠ°. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ INeed, ΠΈ ΡΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° DragonFractalAction. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ β Π½Π΅Π»ΡΠ·Ρ ΠΌΠ΅Π½ΡΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ DragonPainter. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ DragonPainter β DragonSettings ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠ΅Π½Π°. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΡ ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠΉ Painter. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠ°Π±ΡΠΈΠΊΡ DragonPainter-ΠΎΠ². https://github.com/ninject/Ninject.Extensions.Factory/wiki/Factory-interface
-
Π€Π°Π±ΡΠΈΠΊΠ° 2. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉΡΠ΅ DragonSettingsGenerator ΡΠ°ΠΊΠΆΠ΅ Π² ΡΠ°Π±ΡΠΈΠΊΡ ΠΈ ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π² DragonFractalAction.
-
ΠΠΎΠ²Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ. ΠΠ΅ΡΠ΅Π²Π΅Π΄ΠΈΡΠ΅ DragonPainter Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ² ΠΏΠ°Π»ΠΈΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π² KochPainter.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠΊΡΠ΅Π½ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°Π»ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Π²ΠΎΠΎΠ±ΡΠ΅. ΠΠ°Π³ΠΈΡ!
- ΠΡΡΠΎΡΠ½ΠΈΠΊ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΡΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΡΠ΅ ImageSettingsAction. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° IImageSettingsProvider.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠΊΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ.
-
ΠΠ·Π±Π°Π²ΡΡΠ΅ΡΡ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ INeed ΠΈ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΊΠ»Π°ΡΡ DependencyInjector ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ°.
-
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ IUiAction. Π ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΡΠΈΡΠ»ΡΡΡΡΡ Π΄Π΅ΡΡΡΠΊΠ°ΠΌΠΈ ΠΈ ΡΠΎΡΠ½ΡΠΌΠΈ. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ https://github.com/ninject/Ninject.Extensions.Conventions ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅, ΠΊΠ°ΠΊ Π²ΡΠ΅ ΡΡΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΡΠΊΡ.
-
ΠΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΠΏΡΠ½ΠΊΡΡ ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π»ΠΈΡΡ. Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ?