نقش Class Hierarchies در شناخت اجزا و ارتباطات یک Platform
مدتها پیش در MSDN و در کامنت های مقاله ای از چارلز پتزولد که تاکید کرده بود نقش Class Hierarchies در شناخت اجزا و ارتباطات یک Platform مخصوصا WPF و UWP و Xamarin چقدر اهمیت دارد، سوال کردم و او پاسخ داد مراجعه به Online Documentation و یادداشت برداری نه تنها وقت گیر خواهد بود بلکه کارآیی مورد انتظار را هم نخواهد داشت .
با اینکه همیشه توجه خاصی به جزییات کلام او داشته و دارم به نظرم آن روزها متوجه اهمیت موضوع نشدم. تا اینکه بعد ها در یکی از کتابهای خودش یعنی Xamarin Programming و در فصل یازدهم از اهمیت Bindable Objects و نقش آن در Xamarin و به طور کلی تکنولوژی های XAML-based شرح مبسوطی داد و من تازه متوجه شدم که در آن روز منظور او دقیقا این بود که با استفاده از reflection و هدف گرفتن Assembly های اصلی Platform (مثلا Xamarin.Forms.Core در Xamarin) لیست کاملی از Class ها و Property ها و سایر اجزای هر Namespace تهیه کرده و آنها را متناسب با همان Platform در یک ساختار درختی نمایش دهیم و با دقت به ارتباط اجزای این درخت نگاه کنیم.
مثل همیشه حق با او بود . این بهترین روش برای درک کامل ماهیت و نقش هر کلاس و بررسی تعامل و فلسفه وراثت کلاسهاست که اگر ملکه ذهن شود دیگر نیازی به حفظ کردن آنها نیست و کمک بسیار موثری در انتاب بهترین و مناسب ترین کلاس در مواجهه با سناریویی است که بر روی آن کار می کنیم .
به قلم مهندس مهران دوست عزیز و بزرگوار