āĻāĻāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ¨ā§āĻ¤āĻŋ, āĻāĻāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ¨ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§āĻ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤,
āĻāĻ°āĻĢā§ āĻāĻāĻ¨āĻŋāĻĢāĻ°ā§āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛āĻ¤āĻžāĻ° āĻ¨ā§āĻ¤āĻŋ - āĻŦā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒāĻŋāĻā§āĻāĻŋāĻ˛ āĻ˛ā§āĻ āĻāĻŦāĻ āĻāĻāĻāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ° āĻ¸āĻžāĻā§āĻˇāĻžāĻ¤ā§āĻāĻžāĻ°ā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻ¸ā§āĻ¨āĻžāĻ¯āĻŧāĻŦāĻŋāĻ āĻĒā§āĻ°āĻļā§āĻ¨āĨ¤
āĻāĻ āĻ¨ā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻā§āĻ°ā§āĻ¤āĻ° āĻĒāĻ°āĻŋāĻāĻŋāĻ¤āĻŋ āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻāĻ°ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§ āĻāĻā§āĻāĻŋāĻ˛, āĻ¯āĻāĻ¨ āĻ¤āĻ°ā§āĻŖ āĻāĻŦāĻ āĻ¸āĻŦā§āĻāĻĻā§āĻ°āĻā§ āĻ˛āĻžāĻ°ā§āĻāĻž āĻĨā§āĻā§ āĻāĻžāĻ¤ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦāĻ¨ā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ - āĻĒā§āĻ°āĻā§āĻ¤ āĻāĻžāĻ¤ā§āĻ°āĨ¤
āĻŦāĻ¨ā§, āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§ 8-9 āĻāĻ¨ā§āĻ° āĻĻāĻ˛ā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§āĻāĻŋāĻ¤āĻž āĻāĻŋāĻ˛ - āĻā§āĻ¨ āĻĻāĻ˛āĻāĻŋ āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻŽ āĻŦā§āĻ¤āĻ˛ āĻāĻĻāĻāĻž āĻĒāĻžāĻ¨ āĻāĻ°āĻŦā§, āĻ¤āĻŦā§ āĻļāĻ°ā§āĻ¤ āĻĨāĻžāĻā§ āĻ¯ā§ āĻā§āĻ°ā§āĻĒā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§ āĻāĻĻāĻāĻž āĻĸā§āĻ˛ā§ āĻĻā§āĻ¯āĻŧ, āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻāĻāĻŋ āĻĒāĻžāĻ¨ āĻāĻ°ā§, āĻāĻŦāĻ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻāĻāĻāĻŋ āĻāĻ˛āĻāĻžāĻŦāĻžāĻ° āĻāĻā§. āĻ¯ā§ āĻāĻāĻ¨āĻŋāĻāĻāĻŋ āĻ¤āĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ°ā§āĻā§ āĻ¤āĻž āĻā§āĻ°ā§āĻĒā§āĻ° āĻ¸āĻžāĻ°āĻŋāĻ° āĻļā§āĻˇā§ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻ¯ā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸āĻžāĻ°āĻŋāĻ° āĻāĻāĻžāĻ° āĻ¤āĻŋāĻ¨āĻāĻŋāĻ° āĻā§āĻŖāĻŋāĻ¤āĻ āĻāĻŋāĻ˛ āĻ¤āĻž SRP-āĻāĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻŋāĻ˛āĨ¤
āĻ¸āĻāĻā§āĻāĻž 1. āĻāĻāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦāĨ¤
āĻāĻāĻ āĻĻāĻžāĻ¯āĻŧāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻ¨ā§āĻ¤āĻŋāĻ° (āĻāĻ¸āĻāĻ°āĻĒāĻŋ) āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¸āĻāĻā§āĻāĻž āĻŦāĻ˛ā§ āĻ¯ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻāĻŦāĻ āĻ āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦā§āĻ° āĻāĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻŋāĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
"āĻĒāĻžāĻ¨ā§āĻ¯āĻŧ" āĻŦāĻ¸ā§āĻ¤ā§āĻāĻŋ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§āĻ¨ (āĻāĻŋāĻĒāĻ˛āĻžāĻ°).
āĻāĻ¸āĻāĻ°āĻĒāĻŋ āĻ¨ā§āĻ¤āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻ°āĻž āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦāĻā§āĻ˛āĻŋāĻā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻžāĻā§ āĻāĻžāĻ āĻāĻ°āĻŦ:
- āĻāĻ āĻĸāĻžāĻ˛āĻž (āĻĒā§āĻ°āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨)
- āĻāĻāĻāĻŋ āĻĒāĻžāĻ¨ā§āĻ¯āĻŧ (āĻĄā§āĻ°āĻŋāĻāĻāĻāĻĒ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨)
- āĻāĻāĻāĻ¨ā§āĻ° āĻāĻ˛āĻāĻžāĻŦāĻžāĻ° āĻāĻā§ (āĻā§āĻāĻŦāĻžāĻāĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨)
āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻāĻļāĻā§āĻ°āĻšāĻŖāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§, āĻ āĻ°ā§āĻĨāĻžā§, āĻāĻāĻāĻŋ āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ°āĻ¯āĻŧā§āĻā§ - āĻĒāĻžāĻ¨ āĻāĻ°āĻž, āĻĸāĻžāĻ˛āĻž āĻŦāĻž āĻāĻ˛āĻāĻžāĻŦāĻžāĻ°āĨ¤
āĻĒāĻžāĻ¨ā§āĻ¯āĻŧ āĻāĻ°ā§āĻ¤, āĻā§āĻ°ā§, āĻāĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻŽā§āĻāĻāĻžāĻ:
Ņlass Tippler {
//...
void Act(){
_pourOperation.Do() // ĐŊĐ°ĐģиŅŅ
_drinkUpOperation.Do() // вŅĐŋиŅŅ
_takeBiteOperation.Do() // СаĐēŅŅиŅŅ
}
}
āĻā§āĻ¨?
āĻŽāĻžāĻ¨āĻŦ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ° āĻŦāĻžāĻ¨āĻ°-āĻŽāĻžāĻ¨ā§āĻˇā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻĄ āĻ˛ā§āĻā§āĻ¨, āĻāĻŦāĻ āĻŦāĻžāĻ¨āĻ°-āĻŽāĻžāĻ¨ā§āĻˇ āĻ
āĻŽāĻ¨ā§āĻ¯ā§āĻā§, āĻŽā§āĻ°ā§āĻ āĻāĻŦāĻ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¤āĻžāĻĄāĻŧāĻžāĻšā§āĻĄāĻŧā§ āĻāĻ°ā§āĨ¤ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 3 - 7 āĻĒāĻĻ āĻ§āĻ°ā§ āĻ°āĻžāĻāĻ¤ā§ āĻāĻŦāĻ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻāĻāĻ¨ āĻŽāĻžāĻ¤āĻžāĻ˛ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒāĻĻ āĻāĻā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻļā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻĄ āĻ˛āĻŋāĻāĻŋ, āĻ¤āĻŦā§ āĻ¤āĻžāĻ¤ā§ āĻĨāĻžāĻāĻŦā§ āĻšāĻžāĻ¤, āĻāĻļāĻŽāĻž, āĻŽāĻžāĻ°āĻžāĻŽāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻ°āĻžāĻāĻ¨ā§āĻ¤āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ
āĻ¨ā§āĻ¤āĻšā§āĻ¨ āĻ¤āĻ°ā§āĻāĨ¤ āĻāĻ° āĻāĻ¸āĻŦāĻ āĻšāĻŦā§ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŦāĻĄāĻŋāĻ¤ā§āĨ¤ āĻāĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ
āĻ¨ā§āĻļā§āĻ˛āĻ¨ā§ āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ āĻā§āĻĄ āĻĻā§āĻā§āĻā§āĻ¨āĨ¤ āĻŽāĻžāĻ¨āĻ¸āĻŋāĻāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŽāĻžāĻ¨āĻŦāĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¨āĻ¯āĻŧāĨ¤
āĻ āĻ¨ā§āĻ¯āĻĻāĻŋāĻā§, āĻŦāĻžāĻ¨āĻ° āĻŽāĻžāĻ¨ā§āĻˇāĻāĻŋāĻā§ āĻ¤āĻžāĻ° āĻŽāĻžāĻĨāĻžāĻ¯āĻŧ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻŦāĻŋāĻļā§āĻŦā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§ āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¤āĻžāĻ° āĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ¯āĻŧ, āĻ¤āĻŋāĻ¨āĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻāĻ¸āĻžāĻĨā§ āĻ ā§āĻ˛ā§ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻžāĻĻā§āĻ° āĻĨā§āĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻ¸ā§āĻ¤ā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻāĻžāĻŦā§ āĻ¤āĻžāĻĻā§āĻ° āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻŽāĻĄā§āĻ˛ā§āĻ° āĻāĻžāĻĄāĻŧāĻŋ āĻāĻ˛ā§āĻĒāĻ¨āĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻŋ āĻĻāĻ°āĻāĻžāĻāĻŋ āĻā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻĻāĻ°āĻāĻžāĻ° āĻāĻžāĻāĻāĻž āĻā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻāĻ¨ā§āĻĄā§ āĻ˛āĻŋāĻĢā§āĻ āĻŽā§āĻāĻžāĻ¨āĻŋāĻāĻŽ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯āĻžāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻŋāĻ¯āĻŧāĻžāĻ° āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ "āĻ¤āĻžāĻ˛āĻŋāĻāĻž" āĻ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤ āĻ āĻ¨ā§āĻ¤āĻ¤ "āĻŦāĻžāĻ¨āĻ° āĻŽāĻžāĻ¨ā§āĻˇ" āĻĒāĻžāĻ°ā§ āĻ¨āĻžāĨ¤
āĻ āĻ¤āĻāĻŦ, āĻŽāĻžāĻ¨āĻŦ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ°āĻ°āĻž āĻāĻāĻŋāĻ˛ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻā§ āĻāĻŽ āĻāĻāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻā§ āĻĒāĻāĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻĒāĻā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻ āĻ¨ā§āĻ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻāĻžāĻĄāĻŧāĻŋāĻ¤ā§, āĻŦāĻžāĻ¯āĻŧā§ āĻ¨āĻžāĻ˛ā§ āĻĻāĻ°āĻāĻžāĻ¯āĻŧ āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ§ā§āĻ¨āĻŋāĻ āĻāĻžāĻĄāĻŧāĻŋāĻā§āĻ˛āĻŋāĻ¤ā§, āĻ˛āĻ āĻāĻ˛ā§āĻāĻā§āĻ°āĻ¨āĻŋāĻā§āĻ¸ā§āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻāĻā§āĻāĻŋāĻ¨āĻā§ āĻļā§āĻ°ā§ āĻšāĻ¤ā§ āĻŦāĻžāĻ§āĻž āĻĻā§āĻ¯āĻŧ, āĻ¯āĻž āĻŽā§āĻ°āĻžāĻŽāĻ¤ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĨ¤
āĻāĻāĻ¨, SRP āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ¨ā§āĻ¤āĻŋ āĻ¯āĻž āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻĒāĻāĻ¤ā§ āĻšāĻ¯āĻŧ, āĻ āĻ°ā§āĻĨāĻžā§ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻŦāĻŋāĻāĻžāĻāĻ āĻ°ā§āĻāĻž āĻāĻāĻāĻ¤ā§ āĻšāĻ¯āĻŧ.
āĻ¤āĻŋāĻ¨āĻŋ āĻŦāĻ˛ā§āĻā§āĻ¨ āĻ¯ā§ "āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ" āĻāĻ° āĻŦāĻŋāĻāĻžāĻāĻ¨ā§āĻ° āĻ¨ā§āĻ¤āĻŋ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻĒāĻāĻ¨ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ āĻ°ā§āĻĨāĻžā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻžāĻ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§āĨ¤
āĻāĻ¸ā§āĻ¨ āĻŽāĻĻā§āĻ¯āĻĒāĻžāĻ¨ā§ āĻĢāĻŋāĻ°ā§ āĻāĻ¸āĻŋ āĻāĻŦāĻ āĻĒāĻāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻ¨āĻ° āĻŽāĻžāĻ¨ā§āĻˇ āĻ¯ā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛āĻŋ āĻĒāĻžāĻ¯āĻŧ:
- āĻā§āĻĄ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ¸ā§āĻ¤āĻ°ā§ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻā§
- āĻā§āĻĄāĻāĻŋ āĻāĻāĻ¸āĻžāĻĨā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻŋāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ (āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ˛ā§āĻā§)
- āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻ°āĻ˛ā§āĻā§āĻ¤ - āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯āĻ¤ āĻ¸āĻšāĻ, āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¤āĻ¤ āĻ¸āĻšāĻ
- āĻā§āĻĄā§āĻ° āĻ¸āĻāĻŽāĻŋāĻļā§āĻ°āĻŖ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧ - āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻĄā§āĻ°āĻŋāĻāĻāĻāĻĒ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻāĻāĻŋ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻ¨ āĻŽāĻžāĻ¤āĻžāĻ˛ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻ¨āĻŋāĻā§ āĻ¤āĻ°āĻ˛ āĻĸā§āĻ˛ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ āĻĨāĻŦāĻž āĻĸāĻžāĻ˛āĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¯āĻŧāĻžāĻāĻ¨ āĻāĻŦāĻ āĻāĻ˛ āĻŦāĻž āĻāĻĻāĻāĻž āĻāĻŦāĻ āĻŦāĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻŋāĻļā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻ¨āĨ¤ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻā§āĻĄ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ¨āĻž āĻāĻ°ā§āĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŋāĻĒāĻ˛āĻžāĻ°.āĻ ā§āĻ¯āĻžāĻā§āĻ.
- āĻāĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻā§āĻ āĻāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻā§āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ TakeBitOperation), āĻ ā§āĻ¯āĻžāĻ˛āĻā§āĻšāĻ˛āĻŋāĻ (āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĄā§āĻ°āĻŋāĻāĻāĻāĻĒ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¤āĻ˛ āĻĨā§āĻā§) āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻŖ āĻāĻ°ā§āĻ¨āĨ¤
(āĻāĻš, āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻāĻāĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻāĻāĻŋ OCP āĻ¨ā§āĻ¤āĻŋ, āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻ āĻĒā§āĻ¸ā§āĻā§āĻ° āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ˛āĻā§āĻāĻ¨ āĻāĻ°ā§āĻāĻŋ)
āĻāĻŦāĻ, āĻ āĻŦāĻļā§āĻ¯āĻ, āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛āĻŋ:
- āĻāĻŽāĻ°āĻž āĻāĻ°ā§ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§.
- āĻāĻāĻāĻ¨ āĻŽāĻžāĻ¤āĻžāĻ˛ āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻĒāĻžāĻ¨ āĻāĻ°ā§ āĻ¤āĻžāĻ° āĻā§āĻ¯āĻŧā§ āĻāĻ¯āĻŧā§āĻ āĻāĻŖā§āĻāĻž āĻĒāĻ°ā§āĨ¤
āĻ¸āĻāĻā§āĻāĻž 2. āĻāĻāĻ¨āĻŋāĻĢāĻžāĻāĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛āĻ¤āĻžāĨ¤
āĻāĻŽāĻžāĻā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¨, āĻāĻĻā§āĻ°āĻ˛ā§āĻ! āĻŽāĻĻā§āĻ¯āĻĒāĻžāĻ¨āĻāĻžāĻ°ā§ āĻļā§āĻ°ā§āĻŖā§āĻ°āĻ āĻāĻāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻāĻā§ - āĻāĻāĻŋ āĻĒāĻžāĻ¨ āĻāĻ°ā§! āĻāĻŦāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, "āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ" āĻļāĻŦā§āĻĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ āĻ¸ā§āĻĒāĻˇā§āĻ āĻ§āĻžāĻ°āĻŖāĻžāĨ¤ āĻā§āĻ āĻŽāĻžāĻ¨āĻŦāĻ¤āĻžāĻ° āĻāĻžāĻā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§, āĻāĻŦāĻ āĻā§āĻ āĻŽā§āĻ°ā§āĻ¤ā§ āĻāĻ˛ā§āĻā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻĒā§āĻā§āĻā§āĻāĻ¨āĻĻā§āĻ° āĻāĻ¤ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§āĨ¤
āĻāĻ¸ā§āĻ¨ āĻĒāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻĻā§āĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻŋāĨ¤ āĻāĻĒāĻ°ā§ āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋāĻ¤ā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻļā§āĻ°ā§āĻŖā§ āĻ°āĻ¯āĻŧā§āĻā§ - āĻĸāĻžāĻ˛āĻž, āĻĒāĻžāĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ˛āĻāĻžāĻŦāĻžāĻ°āĨ¤
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ "āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ āĻ āĻ¨āĻ˛āĻŋ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ" āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§āĻā§ āĻāĻāĻ¨:
//ĐĐĩ ŅŅĐ°ŅŅŅĐĩ вŅĐĩĐŧŅ ĐŊĐ° иСŅŅĐĩĐŊиĐĩ ŅŅĐžĐŗĐž ĐēĐģĐ°ŅŅĐ°. ĐŅŅŅĐĩ ŅŅĐĩŅŅŅĐĩ ĐŋĐĩŅĐĩĐŊŅĐēŅ
Ņlass BrutTippler {
//...
void Act(){
// ĐŊĐ°ĐģиваĐĩĐŧ
if(!_hand.TryDischarge(from:_bottle, to:_glass, size:_glass.Capacity))
throw new OverdrunkException();
// вŅĐŋиваĐĩĐŧ
if(!_hand.TryDrink(from: _glass, size: _glass.Capacity))
throw new OverdrunkException();
//ĐĐ°ĐēŅŅŅваĐĩĐŧ
for(int i = 0; i< 3; i++){
var food = _foodStore.TakeOrDefault();
if(food==null)
throw new FoodIsOverException();
_hand.TryEat(food);
}
}
}
āĻāĻ āĻāĻāĻ¯āĻŧ āĻļā§āĻ°ā§āĻŖā§, āĻŦāĻžāĻāĻ°ā§āĻ° āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻā§āĻ° āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§, āĻĻā§āĻāĻ¤ā§ āĻšā§āĻŦāĻšā§ āĻāĻāĻ āĻāĻŦāĻ "āĻĒāĻžāĻ¨" āĻāĻ° āĻāĻāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨ā§āĻ¯āĻŧāĨ¤
āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋ !
āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻ āĻ¨āĻ˛āĻžāĻāĻ¨ā§ āĻ¯āĻžāĻ āĻāĻŦāĻ SRP-āĻāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻ¸āĻāĻā§āĻāĻž āĻā§āĻāĻā§ āĻĒāĻžāĻ - āĻāĻāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻ¨ā§āĻ¤āĻŋāĨ¤
SCP āĻŦāĻ˛ā§ āĻ¯ā§ "āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ°āĻŖ āĻāĻā§" āĻ āĻ°ā§āĻĨāĻžā§, "āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ°āĻŖāĨ¤"
(āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻ¯ā§ āĻā§āĻ˛ā§āĻ°āĻž āĻāĻ¸āĻ˛ āĻ¸āĻāĻā§āĻāĻž āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĻā§āĻ¨ āĻ¤āĻžāĻ°āĻž āĻŦāĻ¨āĻŽāĻžāĻ¨ā§āĻˇā§āĻ° āĻā§āĻ˛āĻŋāĻĒā§āĻ¯āĻžāĻĨāĻŋāĻ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ¯āĻŧ āĻāĻ¤ā§āĻŽāĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ā§ āĻāĻŋāĻ˛ā§āĻ¨)
āĻāĻāĻ¨ āĻ¸āĻŦāĻāĻŋāĻā§ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻĒāĻĄāĻŧā§āĨ¤ āĻāĻ˛āĻžāĻĻāĻžāĻāĻžāĻŦā§, āĻāĻŽāĻ°āĻž āĻĸāĻžāĻ˛āĻž, āĻŽāĻĻā§āĻ¯āĻĒāĻžāĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻĻā§āĻ¯āĻĒāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒā§āĻ° āĻā§āĻ°āĻŽ āĻāĻŦāĻ āĻāĻ āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĒāĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻāĻ˛āĻāĻžāĻŦāĻžāĻ° āĻ¸āĻ°āĻžāĻ¨ā§ āĻŦāĻž āĻā§āĻ¸ā§āĻā§āĻ° āĻĒāĻžāĻ āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤
"āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ āĻ āĻ¨āĻ˛āĻŋ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ" āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§, āĻ¯āĻž āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻāĻ¨. āĻāĻāĻŋ āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻāĻ¨ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻŦ āĻāĻŽāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ 500 āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻ¯āĻŧāĻžāĻ¨āĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧ, āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ° āĻ¨ā§āĻ¯āĻžāĻā§āĻ¤ā§ āĻ¯ā§āĻāĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ° āĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻ¯āĻĻāĻŋ-āĻŦāĻŋāĻŦā§āĻ¤āĻŋ āĻĨāĻžāĻā§āĨ¤
āĻ¸āĻāĻā§āĻāĻž 3. āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻ°āĻŖāĨ¤
āĻŽāĻĻā§āĻ¯āĻĒāĻžāĻ¨āĻāĻžāĻ°ā§āĻ°āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¨āĻž āĻā§āĻ¨ āĻ¤āĻžāĻ°āĻž āĻ āĻ¨ā§āĻ¯ āĻāĻžāĻ°ā§ āĻ ā§āĻ¯āĻžāĻĒāĻžāĻ°ā§āĻāĻŽā§āĻ¨ā§āĻā§ āĻā§āĻā§āĻā§ āĻŦāĻž āĻ¤āĻžāĻĻā§āĻ° āĻŽā§āĻŦāĻžāĻāĻ˛ āĻĢā§āĻ¨ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻā§āĨ¤ āĻāĻāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ˛āĻāĻŋāĻ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ.
āĻĸāĻžāĻ˛āĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻāĻŋāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯āĻžāĻ:
class PourOperation: IOperation{
PourOperation(ILogger log /*....*/){/*...*/}
//...
void Do(){
_log.Log($"Before pour with {_hand} and {_bottle}");
//Pour business logic ...
_log.Log($"After pour with {_hand} and {_bottle}");
}
}
āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻŋ encapsulating āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨, āĻāĻŽāĻ°āĻž āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻāĻŦāĻ āĻāĻ¨āĻā§āĻ¯āĻžāĻĒāĻ¸ā§āĻ˛ā§āĻļāĻ¨ā§āĻ° āĻĻā§āĻˇā§āĻāĻŋāĻā§āĻŖ āĻĨā§āĻā§ āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§āĻāĻŋ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛āĻ¤āĻžāĻ° āĻ¨ā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¨āĻŋāĻā§āĻ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻ¯āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ˛āĻāĻŋāĻ āĻ¨āĻŋāĻā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§āĻā§āĻ¯ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĨ¤ āĻĸāĻžāĻ˛āĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻ˛āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
interface IPourLogger{
void LogBefore(IHand, IBottle){}
void LogAfter(IHand, IBottle){}
void OnError(IHand, IBottle, Exception){}
}
class PourOperation: IOperation{
PourOperation(IPourLogger log /*....*/){/*...*/}
//...
void Do(){
_log.LogBefore(_hand, _bottle);
try{
//... business logic
_log.LogAfter(_hand, _bottle");
}
catch(exception e){
_log.OnError(_hand, _bottle, e)
}
}
}
āĻ¸āĻ¤āĻ°ā§āĻ āĻĒāĻžāĻ āĻ āĻ¤āĻž āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°āĻŦā§āĻ¨ āĻ˛āĻāĻāĻĢāĻāĻžāĻ°, āĻ˛āĻ āĻŦāĻŋāĻĢā§āĻ° и OnError āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻĒā§āĻĨāĻāĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŦāĻ, āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĻā§āĻļā§āĻ¯ āĻĻā§āĻŦāĻžāĻ°āĻž, āĻ¤āĻŋāĻ¨āĻāĻŋ āĻļā§āĻ°ā§āĻŖā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§: PourLoggerBefore, PourLoggerAfter и PourErrorLogger.
āĻāĻŦāĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻāĻāĻ¨ āĻĒāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻā§, āĻāĻŽāĻ°āĻž āĻ¨āĻ¯āĻŧāĻāĻŋ āĻ˛āĻāĻŋāĻ āĻā§āĻ˛āĻžāĻ¸ āĻĒāĻžāĻāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻŽāĻā§āĻ° āĻĒāĻžāĻ¨ā§āĻ¯āĻŧ āĻŦā§āĻ¤ā§āĻ¤ 14 (!!!) āĻļā§āĻ°ā§āĻŖā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤āĨ¤
āĻ āĻ§āĻŋāĻŦā§āĻ¤ā§āĻ¤? āĻāĻ āĻŋāĻ¨āĻāĻžāĻŦā§! āĻāĻāĻāĻŋ āĻĒāĻāĻ¨āĻļā§āĻ˛ āĻā§āĻ°ā§āĻ¨ā§āĻĄ āĻ¸āĻš āĻāĻāĻāĻŋ āĻŦāĻžāĻ¨āĻ° āĻŽāĻžāĻ¨ā§āĻˇ "āĻĸāĻžāĻ˛āĻž"āĻāĻŋāĻā§ āĻāĻāĻāĻŋ āĻĄāĻŋāĻā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ°, āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸, āĻĸāĻžāĻ˛āĻž āĻ āĻĒāĻžāĻ°ā§āĻāĻ°, āĻāĻāĻāĻŋ āĻāĻ˛ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž, āĻ āĻŖā§āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻāĻāĻ°ā§āĻˇā§āĻ° āĻāĻāĻāĻŋ āĻļāĻžāĻ°ā§āĻ°āĻŋāĻ āĻŽāĻĄā§āĻ˛ā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ¤ā§āĻ°ā§āĻŽāĻžāĻ¸āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻā§āĻ˛āĻŋāĻā§ āĻŽā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§āĨ¤ āĻā§āĻ˛ā§āĻŦāĻžāĻ˛ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĨ¤ āĻāĻŦāĻ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°ā§āĻ¨, āĻ¤āĻŋāĻ¨āĻŋ āĻĨāĻžāĻŽāĻŦā§āĻ¨ āĻ¨āĻžāĨ¤
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻ āĻ¨ā§āĻā§āĻ āĻāĻ āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°ā§ āĻĒā§āĻāĻā§ āĻ¯ā§ SRP āĻšāĻ˛ āĻā§āĻ˛āĻžāĻĒā§ āĻ°āĻžāĻā§āĻ¯ā§āĻ° āĻ°ā§āĻĒāĻāĻĨāĻž, āĻāĻŦāĻ āĻ¨ā§āĻĄā§āĻ˛āĻ¸ āĻā§āĻ˛āĻ¤ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧ...
... Srp-āĻāĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻ¸āĻāĻā§āĻāĻžāĻ° āĻ āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¨āĻž āĻļāĻŋāĻā§:
âāĻāĻāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻ¨ā§āĻ¤āĻŋ āĻŦāĻ˛ā§ āĻ¯ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋ āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤" āĻ āĻĨāĻŦāĻž "āĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻāĻ¸āĻžāĻĨā§ āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§"
āĻ āĻ°ā§āĻĨāĻžā§, āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ˛āĻāĻŋāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻŋ, āĻ¤āĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧ - āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻĒāĻ°ā§ SRP-āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¯āĻŧ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻāĻžāĻāĻĒāĻā§āĻ˛āĻŋāĻā§ āĻā§āĻ°ā§āĻŖ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻŋāĻˇā§ āĻĢā§āĻ˛āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛, āĻ āĻ°ā§āĻĨāĻžā§, āĻ¤āĻžāĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ° āĻāĻāĻāĻŋ "āĻāĻ°ā§āĻ§ā§āĻŦ āĻ¸ā§āĻŽāĻž" āĻāĻ°ā§āĻĒ āĻāĻ°ā§āĻā§ āĻāĻŦāĻ āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ "āĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻŽāĻž" āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻŦāĻ˛āĻāĻŋāĨ¤ āĻ āĻ¨ā§āĻ¯ āĻāĻĨāĻžāĻ¯āĻŧ, āĻāĻ¸āĻāĻ°āĻĒāĻŋ-āĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° "āĻā§āĻ°āĻžāĻļ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻŋāĻˇā§ āĻĢā§āĻ˛āĻž" āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻ°āĻžāĻ āĻ¨āĻ¯āĻŧ - "āĻāĻ¨ā§āĻāĻžāĻ°āĻ˛āĻāĻŋāĻ āĻāĻŋāĻ¨āĻŋāĻ¸āĻā§āĻ˛āĻŋāĻā§ āĻā§āĻ°āĻžāĻļ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž". āĻāĻāĻžāĻŽā§āĻ° āĻ°ā§āĻāĻžāĻ° āĻāĻ° āĻāĻĒ āĻŽā§āĻ¯āĻžāĻ¨ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ āĻŽāĻšāĻžāĻ¯ā§āĻĻā§āĻ§!
āĻāĻāĻ¨ āĻĒāĻžāĻ¨āĻāĻžāĻ°ā§ āĻāĻžāĻ˛ āĻŦā§āĻ§ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ IPourLogger āĻ˛āĻāĻžāĻ°āĻā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻļā§āĻ°ā§āĻŖā§āĻ¤ā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻā§āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ āĻ¤āĻž āĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻāĻžāĻ°āĻā§ āĻāĻ āĻĒā§āĻ°āĻāĻžāĻ°ā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
class OperationLogger{
public OperationLogger(string operationName){/*..*/}
public void LogBefore(object[] args){/*...*/}
public void LogAfter(object[] args){/*..*/}
public void LogError(object[] args, exception e){/*..*/}
}
āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻ¤ā§āĻ°ā§āĻĨ āĻ§āĻ°āĻ¨ā§āĻ° āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻāĻŋāĻ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤ āĻāĻŦāĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻā§āĻĄ āĻ¨āĻŋāĻā§āĻ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻŦāĻ āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§ āĻā§āĻ˛āĻŽāĻžāĻ˛ āĻŽā§āĻā§āĻ¤.
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻŽāĻĻā§āĻ¯āĻĒāĻžāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° 5āĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ āĻ°āĻ¯āĻŧā§āĻā§:
- āĻĸāĻžāĻ˛āĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨
- āĻŽāĻĻā§āĻ¯āĻĒāĻžāĻ¨ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨
- āĻā§āĻ¯āĻžāĻŽāĻŋāĻ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨
- āĻ˛āĻāĻžāĻ°
- āĻŽāĻĻā§āĻ¯āĻĒ āĻ¸āĻŽā§āĻŽā§āĻāĻāĻžāĻ
āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻĻāĻžāĻ¯āĻŧā§ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤.
āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻā§āĻŦāĻ¨ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻŽāĻ°āĻž āĻāĻāĻŦāĻžāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ b2b āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ˛āĻŋāĻā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻ° 200 āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻļā§āĻŦāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§:
- 1C āĻ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
- āĻāĻ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§, āĻĒā§āĻŽā§āĻ¨ā§āĻ āĻŽāĻĄāĻŋāĻāĻ˛ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
- āĻā§āĻ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻŽā§āĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ
- āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
- āĻĒā§āĻŽā§āĻ¨ā§āĻ āĻŽāĻĄāĻŋāĻāĻ˛ā§ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°ā§āĻļāĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻŦāĻ āĻ°ā§āĻāĻŋāĻ¸ā§āĻā§āĻ°ā§āĻļāĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ 1c āĻ¨āĻŽā§āĻŦāĻ° āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
- āĻāĻ āĻā§āĻŦāĻŋāĻ˛ā§ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ¤āĻĨā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
- āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ā§ āĻāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¨āĻŽā§āĻŦāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° 1c āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ¨āĻŽā§āĻŦāĻ° āĻĒāĻžāĻ¸ āĻāĻ°ā§āĻ¨āĨ¤
āĻāĻŦāĻ āĻāĻ¯āĻŧāĻžāĻ¨āĻ āĻ¸āĻāĻ¯ā§āĻ āĻ¸āĻš āĻāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻāĻ°āĻ 10āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻāĻŋāĻ˛āĨ¤ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻā§āĻ°āĻ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛āĨ¤ āĻ āĻ°ā§āĻ§ā§āĻ āĻāĻ˛ā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻāĻĄāĻŋ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛āĨ¤
āĻ°āĻŋāĻĢā§āĻ¯āĻžāĻā§āĻāĻ°āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ āĻāĻ¨ā§āĻāĻž āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§ āĻā§āĻĄ āĻāĻŦāĻ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻŋāĻā§ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻžāĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋ/āĻā§āĻ˛āĻžāĻ¸ā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻāĻļā§āĻŦāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻāĻŋāĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻĻāĻŋāĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻā§āĻĄā§āĻ° 100āĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻŦāĻžāĻāĻŋ āĻāĻŋāĻ˛ āĻ¯āĻž āĻā§āĻŦāĻ˛ āĻ āĻā§āĻāĻžāĻ˛ā§ āĻšāĻ¤ā§ āĻāĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤
āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ¯āĻŧā§āĻāĻĻāĻŋāĻ¨ āĻĒāĻ°ā§āĻ āĻāĻāĻž āĻ¸ā§āĻĒāĻˇā§āĻ āĻšāĻ¯āĻŧā§ āĻā§āĻ˛ āĻ¯ā§ āĻāĻ "āĻšāĻžāĻ˛āĻāĻž" āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽāĨ¤ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻŽā§āĻ˛ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻāĻŋ āĻŦā§āĻļ āĻāĻāĻŋāĻ˛ āĻāĻŋāĻ˛āĨ¤ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋāĻā§ āĻā§āĻāĻ°ā§ āĻā§āĻāĻ°ā§ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻ¯āĻž SRP āĻ˛āĻā§āĻāĻ¨ āĻāĻ°āĻŦā§, āĻāĻŦāĻ āĻāĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§ āĻ¨āĻ¯āĻŧāĨ¤
āĻāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻāĻ¤āĻžāĨ¤
āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻžāĻ¤āĻžāĻ˛āĻā§ āĻāĻāĻž āĻā§āĻĄāĻŧā§ āĻĻā§āĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§āĻā§āĨ¤ āĻāĻĒāĻ¨āĻžāĻ° āĻ āĻļā§āĻ°ā§ āĻļā§āĻāĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¨ - āĻāĻŽāĻ°āĻž āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻāĻĻāĻŋāĻ¨ āĻāĻāĻŋāĻ¤ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻŦāĨ¤ āĻāĻāĻ¨ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻĨā§āĻā§ āĻā§āĻāĻžāĻ¨ āĻāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ āĻāĻ°āĻž āĻ¯āĻžāĻ.
āĻāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻāĻ¤āĻž 1. SRP āĻāĻ° āĻ¸āĻāĻā§āĻāĻž
- āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻ˛āĻžāĻĻāĻž āĻāĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§āĨ¤
- āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻŽāĻžāĻ¨ā§ "āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻžāĻ°āĻŖ"āĨ¤ āĻ āĻ°ā§āĻĨāĻžā§, āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻˇāĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
- āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ¤ā§ āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĨ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻāĻ°āĻŖ āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻāĨ¤ āĻ¸āĻŋāĻā§āĻā§āĻ°ā§āĻ¨āĻžāĻ¸āĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ āĻšāĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻāĻ¤āĻž 2. āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸ā§āĻŦ-āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻŽāĻžāĻ¨āĻĻāĻŖā§āĻĄāĨ¤
āĻāĻŽāĻŋ āĻāĻ¸āĻāĻ°āĻĒāĻŋ āĻĒā§āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻŽāĻžāĻ¨āĻĻāĻŖā§āĻĄ āĻĻā§āĻāĻŋāĻ¨āĻŋāĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻļāĻ°ā§āĻ¤ āĻāĻā§:
1) āĻ¨āĻŋāĻā§āĻā§ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°ā§āĻ¨ āĻāĻ āĻā§āĻ˛āĻžāĻ¸/āĻĒāĻĻā§āĻ§āĻ¤āĻŋ/āĻŽāĻĄāĻŋāĻāĻ˛/āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻŋ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻ¸āĻāĻā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§. ( āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ
āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž
āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻ¸āĻāĻā§āĻāĻž āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻā§āĻŦ āĻāĻ āĻŋāĻ¨
2) āĻāĻāĻāĻŋ āĻŦāĻžāĻ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻŦāĻž āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻ¸āĻāĻā§āĻ¯āĻ āĻĢāĻžāĻāĻ˛/āĻā§āĻ˛āĻžāĻ¸āĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°ā§ā§ˇ āĻāĻĻāĻ°ā§āĻļāĻāĻžāĻŦā§ - āĻāĻ.
āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž
āĻ¯ā§āĻšā§āĻ¤ā§ āĻĻāĻžāĻ¯āĻŧāĻŦāĻĻā§āĻ§āĻ¤āĻž (āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻŦāĻž āĻŦāĻžāĻ) āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛/āĻā§āĻ˛āĻžāĻ¸ā§ āĻāĻ¨āĻā§āĻ¯āĻžāĻĒāĻ¸ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻĒāĻ¨āĻŋ āĻ āĻŋāĻ āĻāĻžāĻ¨ā§āĻ¨ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻā§ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ: āĻ˛āĻāĻŋāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ˛āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻŦāĻžāĻāĻŋ āĻā§āĻĄā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤
āĻāĻ°ā§āĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ UI āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§, āĻāĻā§āĻ°āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ 10āĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ¤ā§āĻ¤āĻž āĻāĻŦāĻ 15āĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻāĻžāĻ°ā§ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻāĻ°ā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻ°āĻā§āĻ¨ā§ˇ
3) āĻ¯āĻĻāĻŋ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§āĻ° āĻāĻĒāĻ° āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻŽāĻžāĻ°ā§āĻ āĻŦāĻŋāĻ°ā§āĻ§ā§āĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž, āĻ āĻ°ā§āĻĨāĻžā§ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻ āĻĢāĻžāĻāĻ˛/āĻļā§āĻ°ā§āĻŖā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽāĨ¤
āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž
āĻ¯āĻĻāĻŋ, āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ "āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻ¨ā§āĻā§ āĻāĻĻāĻāĻž āĻĸāĻžāĻ˛āĻž" āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻĒāĻ¨āĻžāĻā§ āĻ˛āĻāĻžāĻ°, āĻŽāĻĻā§āĻ¯āĻĒāĻžāĻ¨ āĻāĻŦāĻ āĻĸāĻžāĻ˛āĻžāĻ° āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§ āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻŽāĻ¨ā§ āĻšāĻā§āĻā§ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦāĻā§āĻ˛āĻŋ āĻŦāĻžāĻāĻāĻžāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ āĻŦāĻļā§āĻ¯āĻ, āĻāĻāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ āĻ¸āĻāĻā§āĻ¯āĻžāĻāĻŋ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
4) āĻ¯āĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧāĻŋāĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻāĻāĻāĻ¨ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§ āĻŦāĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§), āĻāĻĒāĻ¨āĻŋ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸/āĻĢāĻžāĻāĻ˛ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ¨āĨ¤
āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž
āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯, āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŦāĻž āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽāĻā§āĻ˛āĻŋ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤āĻāĻžāĻŦā§ āĻ˛ā§āĻāĻž āĻšāĻ¯āĻŧ, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ, āĻāĻŦāĻ āĻā§āĻĄ āĻ¸ā§āĻĒā§āĻ¸ āĻā§āĻĄāĻŧā§ āĻĒāĻ¤āĻžāĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻāĻŋāĻāĻŋāĻ¯āĻŧā§ āĻ¨ā§āĻāĨ¤
5) āĻ¨āĻžāĻŽāĻāĻ°āĻŖ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ°āĨ¤
āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž
āĻāĻŽāĻžāĻĻā§āĻ° āĻļā§āĻ°ā§āĻŖā§ āĻŦāĻž āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨āĻŋāĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§, āĻāĻŦāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦāĻāĻŋ āĻ¤āĻžāĻ° āĻ¨āĻžāĻŽā§ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ
AllManagersManagerService - āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻāĻāĻŋ āĻāĻļā§āĻŦāĻ° āĻļā§āĻ°ā§āĻŖā§
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĒā§āĻŽā§āĻ¨ā§āĻ - āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻ¨āĻž
āĻāĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻāĻ¤āĻž 3. āĻāĻāĻžāĻŽ-āĻĒā§āĻ°āĻĨāĻŽ āĻŦāĻŋāĻāĻžāĻļ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤
āĻ¨āĻāĻļāĻžāĻ° āĻļā§āĻ°ā§āĻ¤ā§, āĻŦāĻžāĻ¨āĻ° āĻŽāĻžāĻ¨ā§āĻˇ āĻāĻžāĻ¨ā§ āĻ¨āĻž āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻā§āĻˇā§āĻŽāĻ¤āĻž āĻ āĻ¨ā§āĻāĻŦ āĻāĻ°ā§ āĻ¨āĻž āĻāĻŦāĻ āĻā§āĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻā§āĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
- āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§ āĻŦāĻ¸ā§āĻ¤ā§āĻā§ āĻ āĻ¨ā§āĻ āĻŦāĻĄāĻŧ āĻāĻ°ā§āĻ¨
- āĻāĻāĻāĻŋ āĻāĻāĻ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦāĻā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻāĻžāĻ°ā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ°āĻŋāĻĢā§āĻ°ā§āĻŽāĻŋāĻ
- āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦā§āĻ° āĻ¸ā§āĻŽāĻžāĻ¨āĻž āĻā§āĻ˛āĻāĻžāĻŦā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻ¨
āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻāĻŋ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ: "āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻā§āĻ˛ āĻāĻ°āĻž āĻāĻžāĻ˛," āĻŦāĻž "āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¨ āĻ¤āĻŦā§ āĻāĻāĻŋāĻā§ āĻāĻžāĻ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻžāĨ¤" āĻ¯āĻĻāĻŋ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻžāĻ° āĻā§āĻ˛āĻžāĻ¸ā§ āĻĻā§āĻāĻŋ āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻĨāĻžāĻā§, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻāĻ¨āĻ āĻŦā§āĻ§āĻāĻŽā§āĻ¯ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻā§āĻĄā§ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĻā§āĻāĻŋ āĻāĻžāĻā§ āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻžāĻā§āĻ° āĻā§āĻāĻ°ā§ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ°āĻ āĻāĻ āĻŋāĻ¨ āĻāĻžāĻ°āĻŖ āĻĒā§āĻ°āĻ¸āĻā§āĻāĻāĻŋ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻā§āĻĄāĻŧā§ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻĒāĻĄāĻŧā§ āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻā§āĻĄā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻ° āĻ āĻāĻžāĻŦāĨ¤
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĻāĻŋāĻ¨ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ
SRP āĻāĻ° āĻĒāĻ°āĻŋāĻ§āĻŋ OOP āĻāĻŦāĻ SOLID āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻĢāĻžāĻāĻļāĻ¨, āĻā§āĻ˛āĻžāĻ¸, āĻŽāĻĄāĻŋāĻāĻ˛, āĻŽāĻžāĻāĻā§āĻ°ā§āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯āĨ¤ āĻāĻāĻŋ "āĻĢāĻŋāĻā§āĻ¯āĻžāĻā§āĻ¸-āĻĢāĻŋāĻāĻžāĻā§āĻ¸-āĻāĻ¨ā§āĻĄ-āĻĒā§āĻ°ā§āĻĄ" āĻāĻŦāĻ "āĻ°āĻā§āĻ-āĻ¸āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ¸" āĻāĻāĻ¯āĻŧā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯, āĻ¯āĻž āĻŦāĻŋāĻļā§āĻŦāĻā§ āĻ¸āĻ°ā§āĻŦāĻ¤ā§āĻ° āĻāĻāĻā§ āĻāĻžāĻ˛ā§ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°ā§āĻ¨, āĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻā§āĻļāĻ˛ā§āĻ° āĻŽā§āĻ˛āĻŋāĻ āĻ¨ā§āĻ¤āĻŋāĨ¤ āĻŽā§āĻāĻžāĻ¨āĻŋāĻā§āĻ¯āĻžāĻ˛ āĻāĻā§āĻāĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ°āĻŋāĻ, āĻāĻ¨ā§āĻā§āĻ°ā§āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻāĻŋāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ "āĻāĻ¨ā§āĻĄāĻžāĻ°āĻĢā§āĻ°ā§āĻ¯āĻžāĻāĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨" āĻĄāĻŋāĻāĻžāĻāĻ¨āĻžāĻ°āĻĻā§āĻ° āĻ¨āĻŽāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻĨā§āĻā§ āĻŦāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§, "āĻāĻāĻžāĻ°āĻĢā§āĻ°ā§āĻ¯āĻžāĻāĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨" āĻĄāĻŋāĻāĻžāĻāĻ¨āĻžāĻ°āĻĻā§āĻ° āĻĻāĻā§āĻˇāĻ¤āĻž āĻĨā§āĻā§ āĻŦāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§, āĻāĻŦāĻ āĻā§āĻ˛ āĻ¸ā§āĻŽāĻžāĻ¨āĻž āĻ¤āĻžāĻĻā§āĻ° āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻŦāĻ āĻŽāĻžāĻ¨āĻ¸āĻŋāĻ āĻļāĻžāĻ¨ā§āĻ¤āĻŋ āĻĨā§āĻā§ āĻŦāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĨ¤
SRP āĻĒā§āĻ°āĻā§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻĻā§āĻāĻžāĻŦāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻ āĻŋāĻ āĻŦāĻŋāĻā§āĻāĻžāĻ¨ā§āĻ° āĻ āĻāĻļ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻŦāĻŋāĻ āĻāĻŦāĻ āĻŽāĻ¨āĻ¸ā§āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻĨā§āĻā§ āĻŦā§āĻ°āĻŋāĻ¯āĻŧā§ āĻāĻ¸ā§āĨ¤āĻāĻāĻŋ āĻŦāĻžāĻ¨āĻ°-āĻŽāĻžāĻ¨ā§āĻˇā§āĻ° āĻŽāĻ¸ā§āĻ¤āĻŋāĻˇā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻŋāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻŦāĻ āĻŦāĻŋāĻāĻžāĻļ āĻāĻ°āĻžāĻ° āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻŽāĻžāĻ¤ā§āĻ°āĨ¤ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦāĻ˛ā§āĻ¨ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻĒāĻāĻ¨āĻļā§āĻ˛. āĻŽā§āĻ˛ āĻĒā§āĻ°āĻŖāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§ āĻā§āĻ˛āĻŋāĻĒā§āĻ¯āĻžāĻĨāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻŋāĻā§ āĻ¸ā§āĻŽā§āĻāĻ¸ā§āĻā§āĻ°āĻŋāĻ¨ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻŦā§āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com