10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืื ื™ ืคื•ื’ืฉ ืžืคืชื—ื™ื ืฉืœื ืฉืžืขื• ืขืœ ืขืงืจื•ื ื•ืช SOLID (ืื ื—ื ื• ื“ื™ื‘ืจ ืขืœื™ื”ื ื‘ืคื™ืจื•ื˜ ื›ืืŸ. โ€” ืชืจื’ื•ื) ืื• ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื (OOP), ืื• ืฉืฉืžืขืชื™ ืขืœื™ื”ื, ืืš ืืœ ืชืฉืชืžืฉ ื‘ื”ื ื‘ืคื•ืขืœ. ืžืืžืจ ื–ื” ืžืชืืจ ืืช ื”ื™ืชืจื•ื ื•ืช ืฉืœ ืขืงืจื•ื ื•ืช OOP ื”ืžืกื™ื™ืขื™ื ืœืžืคืชื— ื‘ืขื‘ื•ื“ืชื• ื”ื™ื•ืžื™ื•ืžื™ืช. ื—ืœืงื ื™ื“ื•ืขื™ื, ืื—ืจื™ื ืœื ื›ืœ ื›ืš, ื›ืš ืฉื”ืžืืžืจ ื™ื”ื™ื” ืฉื™ืžื•ืฉื™ ื”ืŸ ืœืžืชื›ื ืชื™ื ืžืชื—ื™ืœื™ื ื•ื”ืŸ ืžื ื•ืกื™ื.

ืื ื• ืžื–ื›ื™ืจื™ื: ืœื›ืœ ืงื•ืจืื™ Habr - ื”ื ื—ื” ืฉืœ 10 ืจื•ื‘ืœ ื‘ืขืช ื”ืจืฉืžื” ืœื›ืœ ืงื•ืจืก Skillbox ื‘ืืžืฆืขื•ืช ืงื•ื“ ื”ืงื™ื“ื•ื ืฉืœ Habr.

Skillbox ืžืžืœื™ืฆื”: ืงื•ืจืก ื—ื™ื ื•ื›ื™ ืžืงื•ื•ืŸ "ืžืคืชื— ื’'ืื•ื•ื”".

ื™ื‘ืฉ (ืืœ ืชื—ื–ื•ืจ ืขืœ ืขืฆืžืš)

ืขื™ืงืจื•ืŸ ืคืฉื•ื˜ ืœืžื“ื™, ืฉืžื”ื•ืชื• ื‘ืจื•ืจื” ืžื”ืฉื: "ืืœ ืชื—ื–ื•ืจ ืขืœ ืขืฆืžืš". ืขื‘ื•ืจ ืžืชื›ื ืช, ืžืฉืžืขื•ืช ื”ื“ื‘ืจ ื”ื™ื ื”ืฆื•ืจืš ืœื”ื™ืžื ืข ืžืฉื›ืคื•ืœ ืงื•ื“, ื›ืžื• ื’ื ืืช ื”ื”ื–ื“ืžื ื•ืช ืœื”ืฉืชืžืฉ ื‘ื”ืคืฉื˜ื” ื‘ืขื‘ื•ื“ืชื•.

ืื ื™ืฉ ืฉื ื™ ืงื˜ืขื™ื ื—ื•ื–ืจื™ื ื‘ืงื•ื“, ื™ืฉ ืœืฉืœื‘ ืื•ืชื ืœืฉื™ื˜ื” ืื—ืช. ืื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืขืจืš ืžืงื•ื“ื“ ื™ื•ืชืจ ืžืคืขื ืื—ืช, ื›ื“ืื™ ืœื”ืžื™ืจ ืื•ืชื• ืœืงื‘ื•ืข ืฆื™ื‘ื•ืจื™.

ื–ื” ื”ื›ืจื—ื™ ืขืœ ืžื ืช ืœืคืฉื˜ ืืช ื”ืงื•ื“ ื•ืœื”ืงืœ ืขืœ ื”ืชื—ื–ื•ืงื”, ื•ื–ื• ื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ืฉืœ OOP. ื’ื ืืชื” ืœื ืฆืจื™ืš ืœืขืฉื•ืช ืฉื™ืžื•ืฉ ื™ืชืจ ื‘ืื™ื—ื•ื“, ืžื›ื™ื•ื•ืŸ ืฉืื•ืชื• ืงื•ื“ ืœื ื™ืขื‘ื•ืจ ืื™ืžื•ืช ืขื ื”- OrderId ื•ื”-SSN.

ืื•ืกืฃ ืฉื™ื ื•ื™ื™ื

ืžื•ืฆืจื™ ื”ืชื•ื›ื ื” ืฉืœ ืจื•ื‘ ื”ื—ื‘ืจื•ืช ืžืชืคืชื—ื™ื ื›ืœ ื”ื–ืžืŸ. ื–ื” ืื•ืžืจ ืฉืฆืจื™ืš ืœืขืฉื•ืช ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“, ืฆืจื™ืš ืœืชืžื•ืš ื‘ื•. ืืชื” ื™ื›ื•ืœ ืœื”ืงืœ ืขืœ ื—ื™ื™ืš ื‘ืืžืฆืขื•ืช ืื ืงืคืกื•ืœืฆื™ื”. ื–ื” ื™ืืคืฉืจ ืœืš ืœื‘ื“ื•ืง ื‘ืฆื•ืจื” ื™ืขื™ืœื” ื™ื•ืชืจ ื•ืœืชื—ื–ืง ืืช ื‘ืกื™ืก ื”ืงื•ื“ ื”ืงื™ื™ื ืฉืœืš. ื”ื ื” ื“ื•ื’ืžื” ืื—ืช.

ืื ืืชื” ื›ื•ืชื‘ ื‘ื’'ืื•ื•ื”, ืื– ื”ืงืฆื” ืฉื™ื˜ื•ืช ื•ืžืฉืชื ื™ื ืคืจื˜ื™ื™ื ื›ื‘ืจื™ืจืช ืžื—ื“ืœ.

ืขืงืจื•ืŸ ืคืชื•ื—/ืกื’ื•ืจ

ื ื™ืชืŸ ืœื–ื›ื•ืจ ืขื™ืงืจื•ืŸ ื–ื” ื‘ืงืœื•ืช ืขืœ ื™ื“ื™ ืงืจื™ืืช ื”ื”ืฆื”ืจื” ื”ื‘ืื”: "ื™ืฉื•ื™ื•ืช ืชื•ื›ื ื” (ืžื—ืœืงื•ืช, ืžื•ื“ื•ืœื™ื, ืคื•ื ืงืฆื™ื•ืช ื•ื›ื•') ืฆืจื™ื›ื•ืช ืœื”ื™ื•ืช ืคืชื•ื—ื•ืช ืœื”ืจื—ื‘ื”, ืืš ืกื’ื•ืจื•ืช ืœืฉื™ื ื•ื™." ื‘ืคื•ืขืœ, ื–ื” ืื•ืžืจ ืฉื”ื ื™ื›ื•ืœื™ื ืœืืคืฉืจ ืœืฉื ื•ืช ืืช ื”ืชื ื”ื’ื•ืชื ืžื‘ืœื™ ืœืฉื ื•ืช ืืช ืงื•ื“ ื”ืžืงื•ืจ.

ื”ืขื™ืงืจื•ืŸ ื—ืฉื•ื‘ ื›ืืฉืจ ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“ ื”ืžืงื•ืจ ื“ื•ืจืฉื™ื ืขื“ื›ื•ืŸ ืงื•ื“, ื‘ื“ื™ืงืช ื™ื—ื™ื“ื•ืช ื•ื ื”ืœื™ื ืื—ืจื™ื. ืงื•ื“ ืฉืขื•ืงื‘ ืื—ืจ ื”ืขื™ืงืจื•ืŸ ื”ืคืชื•ื—/ืกื’ื•ืจ ืœื ืžืฉืชื ื” ื›ืฉื”ื•ื ืžื•ืจื—ื‘, ื›ืš ืฉื™ืฉ ื”ืจื‘ื” ืคื—ื•ืช ื‘ืขื™ื•ืช ืื™ืชื•.

ื”ื ื” ื“ื•ื’ืžื” ืœืงื•ื“ ืฉืžืคืจ ืืช ื”ืขื™ืงืจื•ืŸ ื”ื–ื”.

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

ืื ืืชื” ืฆืจื™ืš ืœืฉื ื•ืช ืžืฉื”ื• ื‘ื•, ื–ื” ื™ื™ืงื— ื”ืจื‘ื” ื–ืžืŸ, ืฉื›ืŸ ื›ืœ ื—ืœืงื™ ื”ืงื•ื“ ืฉื™ืฉ ืœื”ื ืงืฉืจ ืขื ื”ืคืจื’ืžื ื˜ ื”ืจืฆื•ื™ ื™ืฆื˜ืจื›ื• ืœื”ืฉืชื ื•ืช.

ืื’ื‘, ืคืชื™ื—ื•ืช-ืกื’ื™ืจื” ื”ื™ื ืื—ื“ ื”ืขืงืจื•ื ื•ืช ืฉืœ SOLID.

ืขื™ืงืจื•ืŸ ืื—ืจื™ื•ืช ื™ื—ื™ื“ื” (SRP)

ืขื™ืงืจื•ืŸ ื ื•ืกืฃ ืžื”ืกื˜ SOLID. ื”ื•ื ืงื•ื‘ืข ื›ื™ "ื™ืฉ ืจืง ืกื™ื‘ื” ืื—ืช ืฉื’ื•ืจืžืช ืœืฉื™ื ื•ื™ ื‘ืžืขืžื“." ื”ืฉื™ืขื•ืจ ืคื•ืชืจ ืจืง ื‘ืขื™ื” ืื—ืช. ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืฉ ืœื• ื›ืžื” ืฉื™ื˜ื•ืช, ืื‘ืœ ื›ืœ ืื—ืช ืžื”ืŸ ืžืฉืžืฉืช ืจืง ื›ื“ื™ ืœืคืชื•ืจ ื‘ืขื™ื” ื ืคื•ืฆื”. ื›ืœ ื”ืฉื™ื˜ื•ืช ื•ื”ืžืืคื™ื™ื ื™ื ืฆืจื™ื›ื™ื ืœืฉืจืช ืจืง ืืช ื–ื”.

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

ื”ืขืจืš ืฉืœ ืขื™ืงืจื•ืŸ ื–ื” ื”ื•ื ืฉื”ื•ื ืžืฉื—ืจืจ ืืช ื”ืฆื™ืžื•ื“ ื‘ื™ืŸ ืจื›ื™ื‘ ื”ืชื•ื›ื ื” ื”ื‘ื•ื“ื“ ืœืงื•ื“. ืื ืืชื” ืžื•ืกื™ืฃ ื™ื•ืชืจ ืžืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืื—ืช ืœืžื—ืœืงื”, ื–ื” ืžืฆื™ื’ ืงืฉืจ ื‘ื™ืŸ ืฉืชื™ ื”ืคื•ื ืงืฆื™ื•ืช. ืœืคื™ื›ืš, ืื ืชืฉื ื” ืื—ื“ ืžื”ื, ื™ืฉ ืกื™ื›ื•ื™ ื’ื‘ื•ื” ืœื”ืจื•ืก ืืช ื”ืฉื ื™, ืฉืžื—ื•ื‘ืจ ืœืจืืฉื•ืŸ. ื•ื–ื” ืื•ืžืจ ืœื”ื’ื“ื™ืœ ืืช ืžื—ื–ื•ืจื™ ื”ื‘ื“ื™ืงื•ืช ื›ื“ื™ ืœื–ื”ื•ืช ืืช ื›ืœ ื”ื‘ืขื™ื•ืช ืžืจืืฉ.

ืขืงืจื•ืŸ ื”ื™ืคื•ืš ืชืœื•ืช (DIP)

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

ืœืžืขืœื” ื”ื™ื ื“ื•ื’ืžื” ืœืงื•ื“ ืฉื‘ื” AppManager ืชืœื•ื™ ื‘-EventLogWriter, ืืฉืจ ื‘ืชื•ืจื• ืงืฉื•ืจ ื‘ืื•ืคืŸ ื”ื“ื•ืง ืขื AppManager. ืื ืืชื” ืฆืจื™ืš ื“ืจืš ืื—ืจืช ืœื”ืฆื™ื’ ื”ื•ื“ืขื”, ื‘ื™ืŸ ืื ื–ื” ืคื•ืฉ, SMS ืื• ื“ื•ื"ืœ, ืืชื” ืฆืจื™ืš ืœืฉื ื•ืช ืืช ืžื—ืœืงืช AppManager.

ื ื™ืชืŸ ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื” ื‘ืืžืฆืขื•ืช DIP. ืœื›ืŸ, ื‘ืžืงื•ื AppManager, ืื ื• ืžื‘ืงืฉื™ื EventLogWriter, ืืฉืจ ื™ื•ื–ืŸ ื‘ืืžืฆืขื•ืช ื”ืžืกื’ืจืช.

DIP ืžืืคืฉืจ ืœื”ื—ืœื™ืฃ ื‘ืงืœื•ืช ืžื•ื“ื•ืœื™ื ื‘ื•ื“ื“ื™ื ื‘ืื—ืจื™ื ืขืœ ื™ื“ื™ ืฉื™ื ื•ื™ ืžื•ื“ื•ืœ ื”ืชืœื•ืช. ื–ื” ืžืืคืฉืจ ืœืฉื ื•ืช ืžื•ื“ื•ืœ ืื—ื“ ืžื‘ืœื™ ืœื”ืฉืคื™ืข ืขืœ ื”ืื—ืจื™ื.

ื”ืจื›ื‘ ื‘ืžืงื•ื ื™ืจื•ืฉื”

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืชื™ืฉื ืŸ ืฉืชื™ ื“ืจื›ื™ื ืขื™ืงืจื™ื•ืช ืœืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ืงื•ื“: ืชื•ืจืฉื” ื•ื”ืจื›ื‘, ืฉืœืฉืชื™ื”ืŸ ื™ืชืจื•ื ื•ืช ื•ื—ืกืจื•ื ื•ืช ืžืฉืœื”ืŸ. ื‘ื“ืจืš ื›ืœืœ ื”ืฉื ื™ ืžื•ืขื“ืฃ ื›ื™ ื”ื•ื ื’ืžื™ืฉ ื™ื•ืชืจ.

ืงื•ืžืคื•ื–ื™ืฆื™ื” ื ื•ืชื ืช ืœืš ืืช ื”ื™ื›ื•ืœืช ืœืฉื ื•ืช ืืช ื”ื”ืชื ื”ื’ื•ืช ืฉืœ ืžื—ืœืงื” ื‘ื–ืžืŸ ืจื™ืฆื” ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ื”ืžืืคื™ื™ื ื™ื ืฉืœื”. ื‘ืขืช ื™ื™ืฉื•ื ืžืžืฉืงื™ื, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคื•ืœื™ืžื•ืจืคื™ื–ื, ืžื” ืฉื ื•ืชืŸ ื™ื™ืฉื•ื ื’ืžื™ืฉ ื™ื•ืชืจ.

ืืคื™ืœื• ืืคืงื˜ื™ื‘ื™ ื’'ืื•ื•ื” ืžืืช ื’'ื•ืฉื•ืข ื‘ืœื•ืš ืžื™ื™ืขืฅ ื‘ื‘ื—ื™ืจืช ื”ืจื›ื‘ ืขืœ ืคื ื™ ื™ืจื•ืฉื”.

ืขื™ืงืจื•ืŸ ื”ื—ืœืคื” ืฉืœ ื‘ืจื‘ืจื” ืœื™ืกืงื•ื‘ (LSP)

ืขื™ืงืจื•ืŸ ื ื•ืกืฃ ืžืชื•ืš ืขืจื›ืช ื”ื›ืœื™ื SOLID. ื”ื•ื ืงื•ื‘ืข ืฉืชืชื™ ืกื•ื’ื™ื ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ื ื™ืชื ื™ื ืœื”ื—ืœืคื” ืขื‘ื•ืจ ื˜ื™ืคื•ืก ื”ืขืœ. ื›ืœื•ืžืจ, ืฉื™ื˜ื•ืช ื•ืคื•ื ืงืฆื™ื•ืช ืฉืขื•ื‘ื“ื•ืช ืขื ืžื—ืœืงืช-ืขืœ ืฆืจื™ื›ื•ืช ืœื”ื™ื•ืช ืžืกื•ื’ืœื•ืช ืœืขื‘ื•ื“ ืœืœื ื‘ืขื™ื•ืช ืขื ืžื—ืœืงื•ืช ื”ืžืฉื ื” ืฉืœื”.

LSP ืงืฉื•ืจ ื”ืŸ ืœืขืงืจื•ืŸ ื”ืื—ืจื™ื•ืช ื”ื™ื—ื™ื“ื” ื•ื”ืŸ ืœืขืงืจื•ืŸ ื”ืื—ืจื™ื•ืช ื”ืžืฉื•ืชืคืช. ืื ืžื—ืœืงื” ืžืกืคืงืช ื™ื•ืชืจ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืžืืฉืจ ืชืช-ืžื—ืœืงื”, ืื– ื”ืื—ืจื•ื ื” ืœื ืชืชืžื•ืš ื‘ื—ืœืง ืžื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช, ืชื•ืš ื”ืคืจื” ืฉืœ ืขื™ืงืจื•ืŸ ื–ื”.

ื”ื ื” ืงื˜ืข ืงื•ื“ ืฉืกื•ืชืจ ืืช LSP.

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

ืฉื™ื˜ืช ื”ืฉื˜ื— (ืžืœื‘ืŸ r) ืžื—ืฉื‘ืช ืืช ื”ืฉื˜ื— ืฉืœ ืžืœื‘ืŸ. ื”ืชื•ื›ื ื™ืช ืชืชืจืกืง ืœืื—ืจ ื”ืคืขืœืช Square ื›ื™ Square ื”ื•ื ืœื ืžืœื‘ืŸ ื›ืืŸ. ืขืœ ืคื™ ืขืงืจื•ืŸ ื”-LSP, ืคื•ื ืงืฆื™ื•ืช ื”ืžืฉืชืžืฉื•ืช ื‘ื”ืคื ื™ื•ืช ืœืžื—ืœืงื•ืช ื‘ืกื™ืก ืฆืจื™ื›ื•ืช ืœื”ื™ื•ืช ืžืกื•ื’ืœื•ืช ืœื”ืฉืชืžืฉ ื‘ืื•ื‘ื™ื™ืงื˜ื™ื ืฉืœ ืžื—ืœืงื•ืช ื ื’ื–ืจื•ืช ืœืœื ื”ื•ืจืื•ืช ื ื•ืกืคื•ืช.

ืขื™ืงืจื•ืŸ ื–ื”, ืฉื”ื•ื ื”ื’ื“ืจื” ืกืคืฆื™ืคื™ืช ืฉืœ ืชืช-ืกื•ื’, ื”ื•ืฆืข ืขืœ ื™ื“ื™ ื‘ืจื‘ืจื” ืœื™ืกืงื•ื‘ ื‘ื”ืจืฆืื” ืžืจื›ื–ื™ืช ื‘ื•ื•ืขื™ื“ื” ืžืฉื ืช 1987 ืฉื›ื•ืชืจืชื” "ื”ืคืฉื˜ืช ื ืชื•ื ื™ื ื•ื”ื™ืจืจื›ื™ื”", ื•ืžื›ืืŸ ืฉืžื•.

ืขื™ืงืจื•ืŸ ืคื™ืฆื•ืœ ืžืžืฉืง (ISP)

ืขืงืจื•ืŸ ืžื•ืฆืง ื ื•ืกืฃ. ืœืคื™ื”, ืื™ืŸ ืœื™ื™ืฉื ืžืžืฉืง ืฉืœื ื ืขืฉื” ื‘ื• ืฉื™ืžื•ืฉ. ืฉืžื™ืจื” ืขืœ ืขื™ืงืจื•ืŸ ื–ื” ืขื•ื–ืจืช ืœืžืขืจื›ืช ืœื”ื™ืฉืืจ ื’ืžื™ืฉื” ื•ืžืชืื™ืžื” ืœ-refactoring ื›ืืฉืจ ืžืชื‘ืฆืขื™ื ืฉื™ื ื•ื™ื™ื ื‘ืœื•ื’ื™ืงืช ื”ื”ืคืขืœื”.

ืœืจื•ื‘, ืžืฆื‘ ื–ื” ืžืชืจื—ืฉ ื›ืืฉืจ ื”ืžืžืฉืง ืžื›ื™ืœ ืžืกืคืจ ืคื•ื ืงืฆื™ื•ืช ื‘ื•-ื–ืžื ื™ืช, ื•ื”ืœืงื•ื— ื–ืงื•ืง ืจืง ืœืื—ืช ืžื”ืŸ.

ืžื›ื™ื•ื•ืŸ ืฉื›ืชื™ื‘ืช ืžืžืฉืง ื”ื™ื ืžืฉื™ืžื” ืงืฉื”, ืœืฉื ื•ืช ืื•ืชื• ืœืื—ืจ ื”ืฉืœืžืช ื”ืขื‘ื•ื“ื” ืžื‘ืœื™ ืœืฉื‘ื•ืจ ื“ื‘ืจ ื™ื”ื™ื” ืืชื’ืจ.

ื”ื™ืชืจื•ืŸ ืฉืœ ืขืงืจื•ืŸ ื”-ISP ื‘ื’'ืื•ื•ื” ื”ื•ื ืฉืงื•ื“ื ื›ืœ ื™ืฉ ืœื™ื™ืฉื ืืช ื›ืœ ื”ืฉื™ื˜ื•ืช, ื•ืจืง ืœืื—ืจ ืžื›ืŸ ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ืขืœ ื™ื“ื™ ืžื—ืœืงื•ืช. ืœื›ืŸ, ื”ืขื™ืงืจื•ืŸ ืžืืคืฉืจ ืœืฆืžืฆื ืืช ืžืกืคืจ ื”ืฉื™ื˜ื•ืช.

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

ืชื›ื ื•ืช ืขื‘ื•ืจ ื”ืžืžืฉืง, ืœื ื”ื™ื™ืฉื•ื

ื”ื›ืœ ื›ืืŸ ื‘ืจื•ืจ ืžื”ื›ื•ืชืจืช. ื™ื™ืฉื•ื ืขื™ืงืจื•ืŸ ื–ื” ืžื•ื‘ื™ืœ ืœื™ืฆื™ืจืช ืงื•ื“ ื’ืžื™ืฉ ืฉื™ื›ื•ืœ ืœืขื‘ื•ื“ ืขื ื›ืœ ื™ื™ืฉื•ื ื—ื“ืฉ ืฉืœ ื”ืžืžืฉืง.

ืขืœื™ืš ืœื”ืฉืชืžืฉ ื‘ืกื•ื’ ื”ืžืžืฉืง ืขื‘ื•ืจ ืžืฉืชื ื™ื, ืกื•ื’ื™ ื”ื—ื–ืจื” ืื• ืกื•ื’ ื”ืืจื’ื•ืžื ื˜ ืฉืœ ื”ืฉื™ื˜ื”. ื“ื•ื’ืžื” ืœื›ืš ื”ื™ื ืฉื™ืžื•ืฉ ื‘-SuperClass ื•ืœื ื‘-SubClass.

ื–ื”:

List numbers= getNumbers();

ืื‘ืœ ืœื:

ArrayList numbers = getNumbers();

ื”ื ื” ื™ื™ืฉื•ื ืžืขืฉื™ ืฉืœ ืžื” ืฉื ื“ื•ืŸ ืœืขื™ืœ.

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

ืขืงืจื•ืŸ ื”ืืฆืœื”

ื“ื•ื’ืžื” ื ืคื•ืฆื” ื”ื™ื ืฉื™ื˜ื•ืช equals() ื•-hashCode() ื‘-Java. ื›ืืฉืจ ื™ืฉ ืฆื•ืจืš ืœื”ืฉื•ื•ืช ื‘ื™ืŸ ืฉื ื™ ืื•ื‘ื™ื™ืงื˜ื™ื, ืคืขื•ืœื” ื–ื• ืžื•ืืฆืœืช ืœืžื—ืœืงื” ื”ืžืงื‘ื™ืœื” ื‘ืžืงื•ื ืœืœืงื•ื—.

ื”ื™ืชืจื•ืŸ ืฉืœ ื”ืขื™ืงืจื•ืŸ ื”ื•ื ืฉืื™ืŸ ื›ืคื™ืœื•ืช ืฉืœ ืงื•ื“ ื•ืคืฉื•ื˜ ื™ื—ืกื™ืช ืœืฉื ื•ืช ื”ืชื ื”ื’ื•ืช. ื–ื” ื—ืœ ื’ื ืขืœ ืžืฉืœื—ืช ืื™ืจื•ืขื™ื.

10 ืขืงืจื•ื ื•ืช ืชื›ื ื•ืช ืžื•ื ื—ื” ืขืฆืžื™ื ืฉื›ืœ ืžืคืชื— ืฆืจื™ืš ืœื“ืขืช

ื›ืœ ื”ืขืงืจื•ื ื•ืช ื”ืœืœื• ืžืืคืฉืจื™ื ืœืš ืœื›ืชื•ื‘ ืงื•ื“ ื’ืžื™ืฉ, ื™ืคื” ื•ืืžื™ืŸ ื™ื•ืชืจ ืขื ืœื›ื™ื“ื•ืช ื’ื‘ื•ื”ื” ื•ืฆื™ืžื•ื“ ื ืžื•ืš. ื›ืžื•ื‘ืŸ, ืชื™ืื•ืจื™ื” ื˜ื•ื‘ื”, ืื‘ืœ ื›ื“ื™ ืฉืžืคืชื— ื™ืฉืชืžืฉ ื‘ืคื•ืขืœ ื‘ื™ื“ืข ื”ื ืจื›ืฉ, ื™ืฉ ืฆื•ืจืš ื‘ืชืจื’ื•ืœ. ืœืื—ืจ ืฉืชืฉืœื•ื˜ ื‘ืขืงืจื•ื ื•ืช OOP, ื”ืฆืขื“ ื”ื‘ื ืฉืœืš ืขืฉื•ื™ ืœื”ื™ื•ืช ืœืœืžื•ื“ ื“ืคื•ืกื™ ืขื™ืฆื•ื‘ ืœืคืชืจื•ืŸ ื‘ืขื™ื•ืช ืคื™ืชื•ื— ืชื•ื›ื ื” ื ืคื•ืฆื•ืช.

Skillbox ืžืžืœื™ืฆื”:

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”