سلام مجدد به همه
این یه نظر شخصی و سلیقه ایه! بنده ترجیح میدم از از سرویس استفاده کنم. یکی دو بار ریا اذیتم کرده در نتیجه کذاشتمش کنار. بالاخص وقتی که میخوای یه متد و آوررید از یه متد کلاس دیگه رو با استفاده از ریا به کار بگیری.
البته توجه باید داشت که دبلیو سی اف تو سیلورلایت چون باید به صورت آسینک استفاده کنی مدیریت اجرا ناهمزمان و مدیریت رویداد اتمام اون رو باید با دقت انجام بدی که ریا سرویس این جا کمکت میکنه. و
از طرفی وقتی از سرویس خالی استفاده میکنی، کلاس بندی و گلاس دیاگرامت پای خودته ولی زحمت این کار وقتی از ریا و انتیتی فریم ورک استفاده میشه به عهده برادر دات نت میشه (البته من خودم بیشتر دوست دارم این زخمت رو به گردن بگیرم و کامل در جریان ساختمان ماهیت هام باشم)
و همیچنین دومین سرویس کنترلینگ هم ریا داره که وقتی شما سرویس استفاده میکنین خودت باید هر بار که تغییرات میدی استفاده کنی آپدیت کنی و مشکلات کلاینت گانفیگ هم که هست.
ولی با این حال من سرویس رو دوست دارم.
پاسخ سوال دوم:
بنا به تجربه بنده، بهتره که شما از چند تا سرویس استفاده کنین و تو هر سرویس بخشی از کلاسها و متدها رو بذار. مثلا یه سرویس واسه یوزرها و کارمندان و دسترسی ها و متدهاشون بذار، و یه سرویس برای زیرسیستم نامه ها و گردش و گزارشاتش.
این جدا کردن به نظر من چند تا مزیت داره. که همه تجارب عملی در کاره ولی ممکنه به درد کسی هم نخوره!
نکته اول اینکه با استفاده از چند سرویس، یه مقدار تو موقع نوشتن برنامه سرعت کارتون بالا میره! علتش هم اینه که شما هر بار که تغییری تو سرویس میدین بعد از بیلد کردن باید سمت سیلورلایت اون رو آپدیت کنین. وقتی سرویس فقط یه دونه است خیلی کند و سنگین میشه که بار باید کلی صبر کنین به مایکروسافت و بیل گیتس فش بدین.
دوم: من یکی از برنامه هام به جز نسخه سیلورلایت نسخه های آندرویدی و جاوا موبایل هم داشت. دلیلی نداره به اونها سرویس کامل داده میشد. در نتیجه فقط سرویس بخش دانشجویان برنامه رو وصل کردم.
سوما اگه یه روزی خدایی نکرده زبونم زبونم لال، یکی برنامه تون رو اسنیف کرد و سرویستون رو بدست آورد و تونست بهش آتونتیکیت شه، حداقل بخشی از سرویس ها متدهاتون لو رفته
چهارما! وقتی داری نامگذاری میکنی مجبوری از اسمهای بلند استفاده کنی که مبادا اسم متدهات تکراری از آب دربیاد
دست آخر من خودم وقتی یه سرویس بزرگ دارم با یه عالمه متد و کلاس، هر چند سعی میکنم که با رجین بندی کردن و کامنت خوانا کنم ولی در مجموع باعث سر در گمی میشه

به نظر من هم در مجموع رو مقدار رم سیستم که این دور زمونه استفاده میشه زیاد فرقی هم نمیکنه. و اینکه زیاد هم سرعت کاربر ها تحت تاثیر قرار نمیگیره چون اول آخر مجبوره که یه نمونه از اینستنس اون کلاس سرویس ساخت بشه! راستشو بخوای اونقدر نکات مهمتر برای رعایت کردن هست که این توش دیده نمیشه