āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨āĻ•ā§‡ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ…āĻ¸āĻĢāĻ˛ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§

āĻ†āĻŽāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻŦāĨ¤ āĻŽā§‚āĻ˛ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻžāĻŸāĻŋ āĻ›āĻŋāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻ¸āĻŽā§āĻŽāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ­āĻžāĻ˛, āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ•āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻ¤āĻ¤āĻŸāĻž āĻ§ā§€āĻ° āĻ¨āĻ¯āĻŧ āĻ¯āĻ¤āĻŸāĻž āĻ†āĻŽāĻŋ āĻ­ā§‡āĻŦā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, LINQ āĻ†āĻŽāĻžāĻ° āĻĻā§āĻƒāĻ¸ā§āĻŦāĻĒā§āĻ¨ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ§ā§€āĻ°āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻ†āĻŽāĻŋāĻ“ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒā§‡ āĻ­ā§āĻ˛ āĻ•āĻ°ā§‡āĻ›āĻŋ... āĻāĻ‡ āĻœā§€āĻŦāĻ¨ āĻ•āĻžāĻšāĻŋāĻ¨ā§€āĻ° āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ•āĻžāĻŸāĻžāĻ° āĻ¨āĻŋāĻšā§‡ āĻāĻŦāĻ‚ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻŦā§‡āĻļ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŦāĻ‚ āĻ¨ā§€āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻŽāĻ¨āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻŸāĻŋ āĻāĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°āĻžāĻ‡āĻœā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻŦā§‡āĻļ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡, āĻ¯ā§‡āĻŽāĻ¨āĻŸāĻŋ āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ, āĻœā§€āĻŦāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨: āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻŽā§‚āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡āĻ° āĻ—āĻ¤āĻŋāĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻ›āĻŋāĻ˛ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ˛āĻ•ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ: Moq, Autofac, EF Core āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ "āĻŦā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŋāĻ‚"āĨ¤

āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻ›āĻžāĻĒā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ•āĻžāĻœ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ: āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻ§ā§€āĻ° āĻ•ā§‡āĻ¨

āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨, āĻ˛ā§‡āĻ–āĻ• āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ—āĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ†āĻ‡āĻāĻ˛ āĻ¨āĻŋāĻ°ā§āĻ—āĻŽāĻ¨ āĻ†āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻžāĻ‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻ•āĻžāĻœāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻļā§āĻ°āĻŽ-āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧ āĻ‰āĻĒāĻžāĻ¯āĻŧ, āĻ¯āĻž āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻĒā§‚āĻ°ā§āĻŖāĨ¤

āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻ—āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻŽāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻ•āĻ‡ āĻŽāĻ¤ āĻĒā§‹āĻˇāĻŖ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¤āĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡, āĻ†āĻŽāĻŋ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¤ā§‹āĻ˛āĻžāĻ° āĻ‡āĻšā§āĻ›āĻž āĻ•āĻ°āĻŋāĻ¨āĻŋāĨ¤

āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ‡ āĻāĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°āĻžāĻ‡āĻœā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻ¨āĻŋāĻˇā§āĻĒāĻžāĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻ‡āĨ¤ āĻ§āĻ°āĻ¨ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ SetValue āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻŦāĻžāĻ‡ āĻ†āĻ¨āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĨ¤ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻĢāĻŋāĻ˛ā§āĻĄā§‡ āĻŽāĻžāĻ¨ āĻāĻ¸ā§‡āĻ›ā§‡, āĻ¸āĻŦāĻžāĻ‡ āĻ–ā§āĻļāĻŋāĨ¤ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ°āĻž - āĻ¸āĻŋāĻ¨āĻŋāĻ¯āĻŧāĻ° āĻāĻŦāĻ‚ āĻĻāĻ˛ā§‡āĻ° āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦ - āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨, āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦā§‹āĻ§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ "āĻ¸āĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨" āĻŽā§āĻ¯āĻžāĻĒāĻžāĻ° āĻāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯āĨ¤ āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ‡: āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŋ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŋ, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻŋ: āĻ¯āĻĻāĻŋ āĻŸāĻžāĻ‡āĻĒ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§‡āĻ° āĻ¨āĻžāĻŽ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž SetValue āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻŋāĨ¤ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ†āĻŽāĻ°āĻž āĻ­ā§āĻ˛ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽāĻ—ā§āĻ˛āĻŋ āĻ§āĻ°āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡āĻ¨āĻŋ, āĻ¤āĻŦā§‡ āĻāĻ–āĻžāĻ¨ā§‡āĻ“ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ§āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°.

āĻ†āĻŽāĻŋ āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ˛ā§‹āĻ•ā§‡āĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻ†āĻ—ā§‡ āĻ†āĻ¸āĻž āĻŽā§‡āĻļāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸āĻœā§āĻœāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧā§‡āĻ‡ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻāĻŦāĻ‚ āĻŽā§āĻ¯āĻžāĻĒāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ˛ā§‹āĻ•ā§‡āĻ°āĻž āĻ•ā§ŒāĻļāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡, āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡, āĻ‡āĻ¨āĻœā§‡āĻ•āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻˇā§āĻĒāĻžāĻĒ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ˛ā§āĻ•āĻŋāĻ¯āĻŧā§‡ āĻ°āĻžāĻ–ā§‡, āĻ¯ā§‡āĻ¨ āĻāĻŸāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦā§āĻ¯āĻžāĻšāĻžāĻ¨āĻžāĻ˛āĻŋāĻ¯āĻŧāĻžāĻ•ā§‡ āĻ…āĻœā§āĻšāĻžāĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĻŋāĻ¤ā§‡ āĻ†āĻŽāĻžāĻ° āĻ¨āĻžāĻ• āĻšāĻžāĻ˛ā§. āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ˛āĻŋāĻ• āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻŋāĻ¨āĻŋ, āĻāĻŦāĻ‚, āĻ¯āĻĻāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻŋ āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĻ•ā§‡ āĻ†āĻ°āĻ“ "āĻ…āĻ¨ā§āĻ•ā§‚āĻ˛" āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋāĻ¤ā§‡ āĻšāĻžāĻ¤ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ¨ā§€āĻšā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ—ā§āĻ°ā§āĻ¤āĻ°āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤

āĻ†āĻŽāĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ•ā§‡āĻ‡, āĻ°āĻŋāĻ–āĻŸāĻžāĻ° āĻŦāĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŽāĻ¤āĻžāĻĻāĻ°ā§āĻļā§€ āĻĒāĻĄāĻŧā§‡āĻ¨, āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨ā§āĻ¯āĻžāĻ¯ā§āĻ¯ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻ¤ā§‡ āĻāĻ¸ā§‡āĻ›ā§‡āĻ¨ āĻ¯ā§‡ āĻ•ā§‹āĻĄā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ˜āĻŸāĻ¨āĻž āĻ¯āĻž āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĢā§‡āĻ˛ā§‡āĨ¤

āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻž CLR āĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡, āĻ¤āĻžāĻĻā§‡āĻ° āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻŸāĻžāĻ¨āĻ¤ā§‡, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ•ā§āĻ°āĻŽ āĻ…āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›āĻŋ, CLR GC āĻ‰āĻ¨ā§āĻŽā§‹āĻšāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĢā§āĻ°āĻŋāĻœ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇāĻŖā§€āĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ§ā§€āĻ° āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤, āĻ†āĻŽāĻžāĻ•ā§‡ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•āĻļāĻ¨ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦāĻž āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ‰āĻšā§āĻš āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻŦāĻŋāĻ˛āĻŽā§āĻŦ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻ¸āĻ˛ā§‡, āĻ¯āĻ¤ āĻŦā§‡āĻļāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ, āĻ¤āĻ¤ āĻŦā§‡āĻļāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¯ā§‡ GC āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨, āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ˛āĻžāĻ˛ āĻ°āĻžāĻ—āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻ°āĻž āĻ¸āĻ•āĻ˛ā§‡āĻ‡ IoC āĻ•āĻ¨ā§āĻŸā§‡āĻ‡āĻ¨āĻžāĻ° āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻŋāĻ– āĻŽā§āĻ¯āĻžāĻĒāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ, āĻ¯āĻžāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¨ā§€āĻ¤āĻŋāĻŸāĻŋāĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ āĻĨāĻžāĻ•ā§‡ āĻ¨āĻžāĨ¤ āĻ¨āĻž, āĻ¨āĻ¯āĻŧ, āĻ•āĻžāĻ°āĻŖ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻāĻŦāĻ‚ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ•āĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ¤āĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¤ā§āĻ¯āĻžāĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¸āĻšāĻœ - āĻāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ•ā§‡ āĻ–ā§āĻŦ āĻŦā§‡āĻļāĻŋ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤

āĻ†āĻ¸āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋ āĻš'āĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ—ā§āĻ˛āĻŋ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ§āĻ°āĻŖā§‡āĻ° āĻ•ā§ŒāĻļāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡. āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻŸā§āĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĨ¤ āĻāĻ•āĻ‡ āĻ…āĻŸā§‹āĻŽā§āĻ¯āĻžāĻĒāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻŽāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡ āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨āĻ•ā§‡ āĻ•āĻ˛ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋāĻ¤ā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ? āĻŽā§‚āĻ˛āĻ¤, āĻāĻŸāĻŋ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ¨āĻŋāĻœā§‡āĻ‡ JIT āĻ•ā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ¨āĻ¯āĻŧāĨ¤ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (āĻāĻŦāĻ‚, āĻšā§āĻ¯āĻžāĻ, āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻ¯āĻŧ); āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡, āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĄā§āĻ°āĻĄāĻžāĻ‰āĻ¨ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ JIT āĻ¸āĻ‚āĻ•āĻ˛āĻ¨āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻ° AOT āĻ¸āĻŽāĻ•āĻ•ā§āĻˇāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻš āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻ†āĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ†āĻ¸āĻŦā§‡.

āĻĒā§āĻ°āĻļā§āĻ¨ā§‡ āĻĨāĻžāĻ•āĻž āĻ¨ā§€āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ āĻĒā§āĻ°āĻŖāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŸāĻžāĻ‡āĻĒ, āĻ•āĻ°ā§āĻŽā§€, āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ†āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŸāĻžāĻ‡āĻĒ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻ¸ā§āĻ¤ā§ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻžāĻ“ āĻŦā§‹āĻ§āĻ—āĻŽā§āĻ¯āĨ¤

āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ†āĻ›ā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻœā§āĻžāĻžāĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ˛ā§‡ āĻ¯ā§‡ āĻ¯āĻĻāĻŋ āĻ•āĻŋāĻ›ā§ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻāĻŦāĻ‚ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ¤āĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ¸āĻžāĻŽāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻŋāĻ¯āĻŧā§‡, āĻāĻŸāĻž āĻŦāĻ˛āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻ¸āĻ˛ā§‡, āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋāĻ° āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻĨāĻŋāĻ¸āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻ›āĻŋ āĻ¯āĻž āĻ†āĻŽāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻāĻ–āĻ¨ āĻ•ā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ–āĻŋ āĻ¯āĻž āĻ†āĻŽāĻžāĻ° āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ• āĻŦā§āĻ¯āĻĨāĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ†āĻŽāĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤āĻ° āĻ•ā§āĻ°ā§‡āĻĄāĻŋāĻŸ āĻĒā§āĻ°āĻ¤āĻŋāĻˇā§āĻ āĻžāĻ¨ā§‡āĻ° āĻ—ā§āĻ°ā§āĻ¤āĻ° āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻŽā§āĻ–ā§‹āĻŽā§āĻ–āĻŋ āĻšāĻ¤ā§‡ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ¤ā§āĻ¤āĻž āĻ•āĻžāĻ˛ā§āĻĒāĻ¨āĻŋāĻ• āĻ¯āĻžāĻ¤ā§‡ āĻ•ā§‡āĻ‰ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ›ā§ āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻ†āĻ›ā§‡āĨ¤ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻšāĻ¤ā§‡ āĻĻāĻŋāĻ¨. āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻŽāĻŋāĻ¤ āĻŦāĻĄāĻŋ āĻ¸āĻš āĻ…āĻ•ā§āĻˇāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻāĻŦāĻ‚ āĻšāĻžāĻ‡āĻĄā§āĻ°ā§‡āĻŸāĻ° āĻāĻ•āĻ‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻ āĻŋ āĻāĻ¸ā§‡āĻ›āĻŋāĻ˛, āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĒāĻĄāĻŧā§‡āĻ›āĻŋ, āĻāĻŸāĻŋāĻ•ā§‡ āĻ•ā§€-āĻŽāĻžāĻ¨ āĻœā§‹āĻĄāĻŧāĻžāĻ¯āĻŧ āĻĒāĻžāĻ°ā§āĻ¸ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻāĻŸāĻž āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•. āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĻŋāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻžāĻŽ, āĻŦāĻ¯āĻŧāĻ¸ āĻāĻŦāĻ‚ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—ā§‡āĻ° āĻĢā§‹āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ¤āĻĨā§āĻ¯ āĻšāĻŋāĻ āĻŋāĻ¤ā§‡ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻšāĻŋāĻ āĻŋāĻ° āĻŽā§‚āĻ˛ āĻ…āĻ‚āĻļā§‡ āĻœā§‹āĻĄāĻŧāĻžāĻ¯āĻŧ āĻ¸āĻ¤ā§āĻ¤āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§āĻ°ā§āĻ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻ¸āĻžāĻŸāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻšāĻžāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‡āĻ‰ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ‡āĻĒā§‹ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻŦāĻž āĻ°āĻŋāĻ˛āĻŋāĻœā§‡āĻ° āĻ†āĻ—ā§‡ āĻœāĻ°ā§āĻ°ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ…āĻ‚āĻļā§€āĻĻāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻœāĻŋāĻ¤āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¸ā§āĻ¤āĻž āĻĄā§‡āĻŸāĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ• āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻœā§€āĻŦāĻ¨ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤

āĻ†āĻŽāĻ°āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻŋ, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻŽāĻŋ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻŦ āĻ¨āĻž: āĻĒā§āĻ°āĻšā§āĻ° āĻ‰āĻ¤ā§āĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻ˛āĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ—āĻŋāĻŸāĻšāĻžāĻŦā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤āĻŋāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻ¯āĻžāĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĢā§‡āĻ˛āĻŦā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻŸāĻŋ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ•ā§‹āĻĄ āĻĻā§‡āĻŦ āĻ¯āĻž āĻšāĻžāĻ‡āĻĄā§āĻ°ā§‡āĻŸāĻ°āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°ā§‡, āĻ¯āĻž āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ•āĻĨāĻž āĻ›āĻŋāĻ˛, āĻšāĻžāĻ‡āĻĄā§āĻ°ā§‡āĻŸāĻ° āĻĨā§‡āĻ•ā§‡, āĻ¯āĻž āĻ§ā§€āĻ° āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ•āĻĨāĻž āĻ›āĻŋāĻ˛āĨ¤

āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ: āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻœā§‹āĻĄāĻŧāĻž āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĨ¤ LINQ āĻ¸ā§āĻ¤āĻ°āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻāĻŦāĻ‚ āĻšāĻžāĻ‡āĻĄā§āĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¯ā§āĻ•ā§āĻ¤āĻŋ, āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡ (āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ LINQ āĻ›āĻžāĻĄāĻŧāĻž āĻ•ā§‹āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡)āĨ¤ āĻāĻ° āĻĒāĻ°ā§‡, āĻœā§‹āĻĄāĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻšāĻžāĻ‡āĻĄā§āĻ°ā§‡āĻļāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻœā§‹āĻĄāĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

"āĻĻā§āĻ°ā§āĻ¤" (āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ•ā§‡ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻĻā§āĻ°ā§āĻ¤):

 protected override Contact GetContact(PropertyToValueCorrelation[] correlations)
        {
            var contact = new Contact();
            foreach (var setterMapItem in _proprtySettersMap)
            {
                var correlation = correlations.FirstOrDefault(x => x.PropertyName == setterMapItem.Key);
                setterMapItem.Value(contact, correlation?.Value);
            }
            return contact;
        }

āĻ†āĻŽāĻ°āĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ, āĻ¸ā§‡āĻŸāĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ - āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻ˛ā§āĻ¯āĻžāĻŽā§āĻŦāĻĄāĻžāĻ¸ āĻ¯āĻž āĻ¸ā§‡āĻŸāĻžāĻ° āĻ¸āĻ¤ā§āĻ¤āĻžāĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡āĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ:

        static FastContactHydrator()
        {
            var type = typeof(Contact);
            foreach (var property in type.GetProperties())
            {
                _proprtySettersMap[property.Name] = GetSetterAction(property);
            }
        }

        private static Action<Contact, string> GetSetterAction(PropertyInfo property)
        {
            var setterInfo = property.GetSetMethod();
            var paramValueOriginal = Expression.Parameter(property.PropertyType, "value");
            var paramEntity = Expression.Parameter(typeof(Contact), "entity");
            var setterExp = Expression.Call(paramEntity, setterInfo, paramValueOriginal).Reduce();
            
            var lambda = (Expression<Action<Contact, string>>)Expression.Lambda(setterExp, paramEntity, paramValueOriginal);

            return lambda.Compile();
        }

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°āĨ¤ āĻ†āĻŽāĻ°āĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻ˛āĻŋāĻ—ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻ¯āĻžāĻ°āĻž āĻ¸ā§‡āĻŸāĻžāĻ°āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻĢā§‹āĻ¨ āĻ•āĻ°āĻŋāĨ¤

"āĻ§ā§€āĻ°" (āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ•ā§‡ āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻ•ā§āĻ¸ āĻ¸ā§āĻ˛ā§‹):

        protected override Contact GetContact(PropertyToValueCorrelation[] correlations)
        {
            var contact = new Contact();
            foreach (var property in _properties)
            {
                var correlation = correlations.FirstOrDefault(x => x.PropertyName == property.Name);
                if (correlation?.Value == null)
                    continue;

                property.SetValue(contact, correlation.Value);
            }
            return contact;
        }

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ SetValue āĻ•āĻ˛.

āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻ¤ā§āĻ¤āĻž āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻžāĻ°āĻ¸ā§āĻĒāĻ°āĻŋāĻ• āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ˛ā§‡āĻ–ā§‡āĨ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— - āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĨ¤

āĻāĻ–āĻ¨ āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ•āĻĄāĻŸāĻ¨ā§‡āĻŸ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ• āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻāĻŦāĻ‚ āĻšāĻ āĻžā§Ž... (āĻ¸ā§āĻĒāĻ¯āĻŧāĻ˛āĻžāĻ° - āĻāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ• āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¨āĻ¯āĻŧ, āĻŦāĻŋāĻļāĻĻ āĻ¨ā§€āĻšā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡)

āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨āĻ•ā§‡ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ…āĻ¸āĻĢāĻ˛ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§

āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›āĻŋ? āĻ¯ā§‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻœāĻ¯āĻŧā§€āĻ­āĻžāĻŦā§‡ āĻĻā§āĻ°ā§āĻ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻŦāĻšāĻ¨ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻžāĻ¸ā§‡āĻ‡ āĻ§ā§€āĻ° āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ¸āĻš āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ§ā§€āĻ° āĻšāĻ¤ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧā§ˇ āĻāĻŸāĻŋ āĻ•āĻžāĻœā§‡āĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻŦāĻ‚ āĻ—āĻ¤āĻŋ āĻ‰āĻ­āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻ¸āĻ¤ā§āĻ¯āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĻāĻŋāĻ•ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŽā§āĻ­āĻŦ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ LINQ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻāĻŦāĻ‚ āĻŽāĻžāĻ°ā§āĻœāĻŋāĻ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨, āĻāĻ° āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛āĻ¤āĻžāĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°ā§‡āĨ¤ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯āĻŸāĻŋ āĻ…āĻ°ā§āĻĄāĻžāĻ°ā§‡āĻ°āĨ¤ āĻĒāĻžāĻ¸ā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻŦāĻŖāĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻļā§āĻ§ā§ āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡āĨ¤ LINQ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻŸāĻŋ 4 - 200 āĻ—ā§āĻŖ āĻ§ā§€āĻ°, āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ•āĻ‡ āĻ¸ā§āĻ•ā§‡āĻ˛ā§‡ āĻ†āĻ°āĻ“ āĻ†āĻŦāĻ°ā§āĻœāĻ¨āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ†āĻĒāĻĄā§‡āĻŸ

āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻ° āĻšā§‹āĻ–āĻ•ā§‡ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻŋāĻ¨āĻŋ, āĻ¤āĻŦā§‡ āĻ†āĻ°āĻ“ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻšāĻ•āĻ°ā§āĻŽā§€ āĻ†āĻŽāĻžāĻ° āĻšā§‹āĻ– āĻŦāĻž āĻ†āĻŽāĻžāĻ° āĻ•ā§‹āĻĄāĻ•ā§‡ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ¨āĻ¨āĻŋ - āĻĻāĻŋāĻŽāĻŋāĻ¤ā§āĻ°āĻŋ āĻŸāĻŋāĻ–ā§‹āĻ¨āĻ­ 0x1000000. āĻ†āĻŽāĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻĻā§āĻŦāĻžāĻ° āĻšā§‡āĻ• āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ¤āĻŋāĻ¨āĻŋ āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨ āĻ¯ā§‡āĻŸāĻŋ āĻ†āĻŽāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻŽāĻŋāĻ¸ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻĨā§‡āĻ•ā§‡ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤āĨ¤ Moq āĻ¸ā§‡āĻŸāĻ†āĻĒā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻŦāĻžāĻ—āĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ āĻŋāĻ• āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ¨āĻƒāĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ°āĻŦāĻŖāĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž - LINQ āĻāĻ–āĻ¨āĻ“ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ•ā§‡ āĻŦā§‡āĻļāĻŋ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻŸāĻž āĻšāĻŽā§ŽāĻ•āĻžāĻ° āĻ¯ā§‡ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻŦā§ƒāĻĨāĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ‰āĻ­āĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨, āĻ¯āĻ–āĻ¨ āĻ¸ā§āĻĨāĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡ "āĻĻā§āĻ°ā§āĻ¤" āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§ā§€āĻ°, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛:

āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨āĻ•ā§‡ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ…āĻ¸āĻĢāĻ˛ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°: āĻāĻ•āĻŸāĻŋ āĻāĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°āĻžāĻ‡āĻœā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ•ā§ŒāĻļāĻ˛ āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ•ā§‹āĻ¨āĻ“ āĻŦāĻŋāĻļā§‡āĻˇ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ - LINQ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛āĻ¤āĻžāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻŦāĻžāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ¤ā§āĻ˛āĻŦā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ‰āĻšā§āĻš-āĻ˛ā§‹āĻĄ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¨āĻŋāĻļāĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœāĻžāĻ° āĻāĻŦāĻ‚ āĻĄā§‡āĻ˛āĻŋāĻ—ā§‡āĻŸ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯āĻž āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ "āĻĻā§āĻ°ā§āĻ¤" āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻ¨ā§‡āĻ° āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ—āĻ¤āĻŋ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ• āĻ•ā§‹āĻĄ āĻāĻ–āĻžāĻ¨ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§. āĻ¯ā§‡ āĻ•ā§‡āĻ‰ āĻ†āĻŽāĻžāĻ° āĻ•āĻĨāĻžāĻ—ā§āĻ˛ā§‹ āĻĻā§āĻŦāĻžāĻ° āĻšā§‡āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:
āĻšā§āĻ¯āĻžāĻŦā§āĻ°āĻž āĻ°āĻŋāĻĢā§āĻ˛ā§‡āĻ•āĻļāĻ¨ āĻŸā§‡āĻ¸ā§āĻŸ

PS: āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ•ā§‹āĻĄāĻŸāĻŋ IoC āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻāĻŦāĻ‚ āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ—āĻ āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻ¸āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋ āĻš'āĻ˛ āĻšā§‚āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ•ā§‡ āĻ—ā§‹āĻ˛āĻŽāĻžāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŽāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻžāĻ°āĻŖāĻ•ā§‡ āĻ•ā§‡āĻŸā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

PPS: āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ āĻĻāĻŋāĻŽāĻŋāĻ¤ā§āĻ°āĻŋ āĻŸāĻŋāĻ–ā§‹āĻ¨āĻ­ @0x1000000 Moq āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻžāĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¯āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĒāĻžāĻ āĻ•āĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯āĻĻāĻŋ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ•āĻ°ā§āĻŽāĻĢāĻ˛ āĻĨāĻžāĻ•ā§‡, āĻĻāĻ¯āĻŧāĻž āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ˛ā§‹āĻ•āĻŸāĻŋ āĻĨā§‡āĻŽā§‡ āĻ—ā§‡āĻ˛, āĻ˛ā§‹āĻ•āĻŸāĻŋ āĻĒāĻĄāĻŧāĻ˛, āĻ˛ā§‹āĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻžāĻ° āĻšā§‡āĻ• āĻ•āĻ°ā§‡ āĻ­ā§āĻ˛āĻŸāĻŋ āĻĻā§‡āĻ–āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ˛āĨ¤ āĻ†āĻŽāĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻŽāĻžāĻ¨ āĻ“ āĻ¸āĻšāĻžāĻ¨ā§āĻ­ā§‚āĻ¤āĻŋāĻ° āĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤

PPPS: āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽ āĻĒāĻžāĻ āĻ•āĻ•ā§‡ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ āĻ¯āĻžāĻ°āĻž āĻļā§ˆāĻ˛ā§€ āĻāĻŦāĻ‚ āĻ¨āĻ•āĻļāĻžāĻ° āĻ¨ā§€āĻšā§‡ āĻĒā§ŒāĻāĻ›ā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻ†āĻŽāĻŋ āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯. āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻ•ā§‚āĻŸāĻ¨ā§€āĻ¤āĻŋ āĻ•āĻžāĻ™ā§āĻ•ā§āĻˇāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ›ā§‡āĻĄāĻŧā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡ āĻ¸āĻŽāĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ—ā§āĻ°āĻšāĻŖ. āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻœāĻ¨ā§āĻ¯ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž.

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨