بله، در تعداد رکورد بالا مثلا در یک گرید در صفحه، حتما مشکلزا است. کلا روش در این مورد زیاد هست، منجمله روشی که در قسمت 5 آموزش MVVM در سایت جاری هست. یا روشی که شما ذکر کردید، یا یک روش دیگر هم استفاده از فریم ورکهای AOP است. اینها روی کد IL نهایی تاثیر میگذارند.
ولی در نهایت همان روش سنتی استفاده از رشتهها، هر چند کمی طولانیتر است، اما بهترین کارآیی و کمترین سربار را هم دارد.
مطلبی هم که من در اینجا عنوان کردم در مورد دیباگ یک سیستم مبتنی بر NHibernate هست و بدیهی است قرار نیست در محیط کاری از آن استفاده شود.
ولی در نهایت همان روش سنتی استفاده از رشتهها، هر چند کمی طولانیتر است، اما بهترین کارآیی و کمترین سربار را هم دارد.
مطلبی هم که من در اینجا عنوان کردم در مورد دیباگ یک سیستم مبتنی بر NHibernate هست و بدیهی است قرار نیست در محیط کاری از آن استفاده شود.
نظرات مطالب
مروری بر کدهای کلاس SqlHelper
این سربار اینقدر نیست که اهمیتی داشته باشد. فقط قرار است یک کوئری LINQ به معادل SQL آن ترجمه شود. خیلی سریع است. همچنین امکان تهیه Compiled linq queries هم وجود دارد (^).
ضمن اینکه مثلا NHibernate قابلیتی دارد به نام second level cache که اساسا برای پروژههای وب طراحی شده. قابلیت کش در سطح کوئری یا اطلاعات پرکاربرد و عمومی سایت را به صورت خودکار دارد. در موردش قبلا مطلب نوشتم : (^). سطح اول کش آن هم پیاده سازی حرفهای همین باز نگه داشتن کانکشنی است که در کد SqlHelper بالا نویسنده موفق به پیاده سازی آن نشده، به علاوه کاهش رفت و آمدها به سرور: (^)
به علاوه NHibernate یک قابلیت دیگر هم دارد به نام ToFuture که میتونه چندین کوئری رو در طی یک رفت و برگشت برای شما انجام بده (^).
و ... خیلی از best practices دیگر هم در آن لحاظ شده. خلاصه اینکه تواناییهای بسیار ارزندهای رو با عدم استفاده از ORMs از دست خواهید داد. منجمله همان بحث کوئریهای پارامتری که عموما از نوشتن آن طفره میروند اما اینجا به صورت خودکار برای شما انجام میشود.
ضمن اینکه مثلا NHibernate قابلیتی دارد به نام second level cache که اساسا برای پروژههای وب طراحی شده. قابلیت کش در سطح کوئری یا اطلاعات پرکاربرد و عمومی سایت را به صورت خودکار دارد. در موردش قبلا مطلب نوشتم : (^). سطح اول کش آن هم پیاده سازی حرفهای همین باز نگه داشتن کانکشنی است که در کد SqlHelper بالا نویسنده موفق به پیاده سازی آن نشده، به علاوه کاهش رفت و آمدها به سرور: (^)
به علاوه NHibernate یک قابلیت دیگر هم دارد به نام ToFuture که میتونه چندین کوئری رو در طی یک رفت و برگشت برای شما انجام بده (^).
و ... خیلی از best practices دیگر هم در آن لحاظ شده. خلاصه اینکه تواناییهای بسیار ارزندهای رو با عدم استفاده از ORMs از دست خواهید داد. منجمله همان بحث کوئریهای پارامتری که عموما از نوشتن آن طفره میروند اما اینجا به صورت خودکار برای شما انجام میشود.
اشتراکها
روش فیلم برداری از یک پنجرهی VSCode
نظرات مطالب
قبل از رفع باگ، برای آن تست بنویسید
گروه Unit Testing را در سایت پیگیری کنید. مطالب آن نظم خوبی دارند و مرحله به مرحله هست.
زیرنویسهای فارسی قسمت چهارم «Building Windows 8 Metro Apps in C# and XAML» را از اینجا و یا اینجا میتونید دریافت کنید.
لیست سرفصلهای قسمت چهارم به شرح زیر است:
List Controls 00:31:14
This module shows the Metro controls available to XAML applications for working with collections of items.
This includes the new GridView and ListView controls,
which are optimized for handling collections in a touch-based user interface.
Introduction
Items Controls
Demo: ListBox vs ListView
Demo: GridView
Demo: FlipView
Common ItemsControl
Semantic Zoom
Demo: JumpViewer
Summary
این قسمت به بررسی یک سری کنترل لیستی جدید ویندوز 8 اختصاص دارد شامل ListView بازنویسی شده و همچنین GridView به همراه دو کنترل FlipView و JumpViewer که تمام اینها جهت کار با صفحات لمسی بهینه سازی شدهاند.
نظرات مطالب
NHibernate 3 Beginners Guide
یک کتاب دیگر هم به نظر در زمینه NH 3.0 منتشر شده:
Working with NHibernate 3.0
Working with NHibernate 3.0