۱۳۸۹/۰۳/۲۰

آموزش سيلورلايت 4 - قسمت‌هاي 21 تا 27


فصل عنوان فايل مرتبط
21 بررسي كنترل DataForm +
22 برنامه نويسي گرافيكي در Silverlight +
23 آشنايي با پويا نمايي در Silverlight +
24 برنامه نويسي چند ريسماني در Silverlight +
25 تعامل با كدهاي HTML صفحه در Silverlight +
26 استفاده از WCF RIA Services در Silverlight +
27 استفاده از MEF در Silverlight 4 +
منابع و مآخذ +
سورس تمام مثال‌هاي كتاب +

و يا دريافت تمام قسمت‌ها به صورت يكجا : +



توضيحي در مورد مثال‌ها:
تمام پوشه‌هاي مثال‌ها داراي شماره هستند و اين شماره‌ها متناظرند با شماره‌ي فضاهاي نام مثال‌ها

آموزش سيلورلايت 4 - قسمت‌هاي 11 تا 20


فصل عنوان فايل مرتبط
11 آشنايي با MVVM Light Toolkit +
12 اعمال قالب‌هاي متفاوت به برنامه‌هاي Silverlight +
13 استفاده از Web Services در Silverlight +
14 آشنايي با مفاهيم مرتبط با شيء Application و مديريت آن +
15 امنيت در Silverlight +
16 روش‌هاي تعيين اعتبار ورودي كاربر در Silverlight +
17 استفاده از تصاوير و فايل‌هاي چند رسانه‌اي در Silverlight +
18 بررسي جامع توانايي‌هاي كنترل DataGrid +
19 معرفي ساير امكانات و ويژگي‌هاي اختصاصي Silverlight 4 +
20 بررسي اجراي خارج از مرورگر برنامه‌هاي Silverlight +


آموزش سيلورلايت 4 - قسمت‌هاي 6 تا 10


فصل عنوان فايل مرتبط
6 استفاده از كنترل‌هاي Silverlight +
7 آشنايي با سيستم Navigation در Silverlight +
8 آشنايي با سيستم Binding در Silverlight +
9 معرفي الگوي M-V-VM +
10 معرفي مثالي مقدماتي از پياده سازي الگوي M-V-VM در Silverlight +


۱۳۸۹/۰۳/۱۹

آموزش سيلورلايت 4 - قسمت‌هاي 1 تا 5


مجموعه‌ي نسبتا مفصلي را از مباحث Silverlight 4 آماده كرده‌ام (حدود 27 قسمت) كه سعي مي‌كنم هر يكي دو روزي يكبار چند قسمت از آن‌را اينجا قرار دهم.

فصل عنوان فايل مرتبط
1 معرفي Silverlight +
2 بررسي ساختار يك پروژه‌ي Silverlight در VS.NET +
3 معرفي XAML +
4 آشنايي با طرح‌ بندي رابط كاربر در Silverlight +
5 آشنايي با نحوه‌ي مديريت رويدادها در Silverlight +

۱۳۸۹/۰۳/۱۶

آرگومان‌هاي نامگذاري شده (named arguments/parameters) در C#4 :


سؤال: آيا شما بدون مراجعه به مستندات شيء FormsAuthenticationTicket مي‌توانيد پاسخ دهيد هر كدام از آرگومان‌هاي ذكر شده در سازنده‌ي اين كلاس چه كاربرد و معنايي دارند؟

var ticket = new FormsAuthenticationTicket
(
1,
principal.Identity.Name,
DateTime.Now,
DateTime.Now.AddMinutes(30),
true,
string.Empty,
FormsAuthentication.FormsCookiePath
);

الان چطور؟!
            //using named parameters of C# 4.0
var ticket = new FormsAuthenticationTicket
(
version: 1,
name: principal.Identity.Name,
issueDate: DateTime.Now,
expiration: DateTime.Now.AddMinutes(30),
isPersistent: true,
userData: string.Empty,
cookiePath: FormsAuthentication.FormsCookiePath
);

گاهي از اوقات ويژگي‌هايي كه به يك زبان برنامه نويسي اضافه مي‌شوند راه و روش برنامه نويسي را ممكن است كاملا تحت تاثير قرار دهند؛ براي مثال استفاده از Generics . اما گاهي از اوقات اين ويژگي‌هاي جديد syntax sugar يا nice to have هستند(!) مانند Named arguments .
Named arguments يا آرگومان‌هاي نامگذاري شده خوانايي كدهاي شما را با بيان اينكه هر آرگومان چه معنايي دارد، افزايش مي‌دهند. براي مثال به نظر شما كدام روش فراخواني متد Copy در ذيل خواناتر است؟
File.Copy("source.txt", "destination.txt", true);
و يا؟
File.Copy("source.txt", "destination.txt", overwrite: true);
هر دو يك كار را انجام مي‌دهند اما درك عملكرد روش اول حتما نياز به بررسي مستندات متد Copy را خواهد داشت.

نكات تكميلي:
متد ساده زير را در نظر بگيريد:
static void Foo(int x, int y) {}
الف) در حالت معمولي و بدون استفاده از named argument ، پارامترهاي يك متد، positional parameters هم ناميده مي‌شوند. به اين معنا كه محل ذكر يك پارامتر مهم است و براي مثال در روش متداول فراخواني ذيل، پارامتر دوم هميشه همان y است و پارامتر اول همواره همان x درنظر گرفته مي‌شود:
Foo(1,2);
اما زمانيكه از named parameters استفاده مي‌كنيد، اين ترتيب ديگر اهميتي نداشته و هر دو فراخواني ذيل مجاز مي‌باشند و به يك معنا هستند:
Foo(x:4, y:2);
Foo(y:2, x:4);
ب) همواره positional parameters بايد پيش از named parameters ذكر شوند. براي مثال فراخواني ذيل مجاز است:
Foo(4, y:2);
اما فراخواني زير مجاز نبوده و برنامه كامپايل نخواهد شد:
Foo(x:4, 2);     // Compile time error


۱۳۸۹/۰۳/۱۴

مقايسه‌اي كوتاه بين WCF و ASMX


ويژگي WCF ASMX
حداقل پيشنياز دات نت سه دات نت يك
هدف جايگزيني يكپارچه‌ي فناورهاي قبلي شامل
ASMX ، WSE ،
MSMQ ، COM+ Eenterprise
services
و .NET Remoting
ارائه وب سرويس
پروتكل‌هاي پشتيباني شده HTTP
TCP
Named pipes
MSMQ
Custom
UDP
HTTP only
پشتيباني از WS-* standards بلي خير
پشتيباني از اطلاعات بايناري بلي خير
پشتيباني از REST بلي خير
ميزبان‌هاي مهيا در هر نوع برنامه‌ي تهيه شده با دات 3 به بعد قابل
ميزباني است، مانند يك برنامه كنسول، يك سرويس ويندوز ان تي و غيره. به اين ليست IIS را هم مي‌توان اضافه كرد.
فقط IIS
سرعت WCF Services‌ نسبت به ASMX Web Services از 25
تا 50 درصد سریعتر هستند + و +

نحوه‌ي پاسخ دهي به درخواست‌ها (يا ايجاد يك وهله جديد) Singleton / private session / per call per-call
پشتيباني از تراكنش‌ها (transaction) پشتيباني تو كار + خير
امنيت پشتيباني تو كار + خودتان بايد فكري براي اين موضوع نمائيد.
بسط پذيري بلي + خير
مدت زمان يادگيري حداقل يك ماه يك روز!