Service Layerنقش لایهی سرویس این است که به عنوان یک مدخل ورودی به برنامه
کاربردی عمل کند. در برخی مواقع این لایه را به عنوان لایهی Facade نیز میشناسند. این لایه، دادهها را در
قالب یک نوع داده ای قوی (Strongly Typed) به نام View Model، برای لایهی Presentation فراهم میکند. کلاس View Model یک Strongly Typed محسوب میشود که نماهای
خاصی از دادهها را که متفاوت از دید یا نمای تجاری آن است، بصورت بهینه ارائه مینماید. در مورد الگوی Vi ...
مطلب «نحوه نمایش تمام آیکونهای تعریف شده در یک قلم در WPF» را در نظر بگیرید. سؤال: اگر در یک برنامه تنها به تعدادی از این آیکونها یا گلیفها نیاز بود آیا میتوان اینها را به صورت مجزا استخراج و استفاده کرد؟
پاسخ: بلی. همان کلاس FontFamily موجود در اسمبلی PresentationCore.dll، امکان تبدیل یک گلیف را به معادل هندسی آن نیز دارد. در ادامه کدهای آنرا مرور خواهیم کرد:using System;
using System.Collections.Generic;
using System.Glob ...
سال نو مبارک! به امید روزهایی شاد، سلامت و پر برکت. پیرو مطلب قلمهایی حاوی آیکون که خصوصا در برنامههای مترو بیشتر مرسوم شدهاند، شاید بد نباشد کار برنامه Character Map ویندوز را با WPF شبیه سازی کنیم.
ابتدا Model و ViewModel این برنامه را درنظر بگیرید:namespace CrMap.Models
{
public class Symbol
{
public char Character { set; get; }
public string CharacterCode { set; get; }
}
}usin ...
Domain Model یا Business
Layerپیاده سازی را از منطق تجاری یا Business Logic آغاز میکنیم. در روش کد
نویسی Smart UI، منطق تجاری در Code
Behind قرار میگرفت اما در روش لایه بندی، منطق
تجاری و روابط بین دادهها در Domain Model طراحی و پیاده سازی میشوند. در مطالب بعدی راجع به Domain Model و الگوهای پیاده سازی آن
بیشتر صحبت خواهم کرد اما بصورت خلاصه این لایه یک مدل مفهومی از سیستم میباشد که
شامل تمامی موجودیتها و روابط بین آنهاست ...
طراحی یک معماری خوب و مناسب یکی از عوامل مهم تولید یک برنامه
کاربردی موفق میباشد. بنابراین انتخاب یک ساختار مناسب به منظور تولید برنامه
کاربردی بسیار مهم و تا حدودی نیز سخت است. در اینجا یاد خواهیم گرفت که چگونه یک
طراحی مناسب را انتخاب نماییم. همچنین روشهای مختلف تولید برنامههای کاربردی را
که مطمئنا شما هم از برخی از این روشها استفاده نمودید را بررسی مینماییم و مزایا
و معایب آن را نیز به چالش میکشیم.ضد الگو (Antipattern) – ...
در نرم افزارهای تحت ویندوز روشها و سلیقههای متفاوتی برای چینش فرمها ، منوها و دیگر اجزای برنامه وجود دارد. در یک نرم افزار اتوماسیون اداری که فرمهای ورود اطلاعات زیادی دارد فضای کافی برای نمایش همهی فرمها به کاربر نیست. یکی از روش هایی که میتواند به کار رود تقسیم قسمتهای مختلف نرم افزار در Viewهای جداگانه است. این کار استفادهی مجدد از قسمتهای مختلف و نگهداری کد را سهولت میبخشد.
الگوی متداولی که در نرم افزارهای WPF و Silverli ...
مقدمه:
WCF Data Services جزئی از NET Framework. است که امکان ایجاد سرویس دهندههای با قرارداد OData را به روی وب یا Intranet با استفاده از REST مهیا میسازد. OData از داده هایی که با Url آدرس پذیر هستند استفاده مینماید. دسترسی و تغییر دادهها با استفاده از استاندارد HTTP و کلمات GET، PUT، POST و D ...
با گسترش استفاده از کامپیوتر در بسیاری از امور روزمره انسانها سازگار بودن برنامهها با سلیقه کاربران به یکی از نیازهای اصلی برنامههای کامپیوتری تبدیل شده است. بدون شک زبان و فرهنگ یکی از مهمترین عوامل در ایجاد ارتباط نزدیک بین برنامه و کاربر به شمار میرود و نقشی غیر قابل انکار در میزان موفقیت یک برنامه به عهده دارد. از این رو در این نوشته تلاش بر آن است تا یکی از سادهترین و در عین حال کاراترین راههای ممکن برای ایجاد برنامههای چند ...
اکثر قلمهای فارسی، فاقد تعاریف مرتبط با حروف انگلیسی هستند. البته عموم کاربران متوجه این امر نمیشوند چون ویندوز دو مفهوم Font Fallback و Font Linking را جهت پوشش glyph های تعریف نشده، در پشت صحنه اعمال خواهد کرد. جزئیات بیشتر در اینجا: (^ و ^)به صورت خلاصه کار Font Fallback در ویندوز جایگزینی خودکار قلم مورد استفاده است؛ تحت شرایط زیر:- فونت تعریف شده در برنامه، در سیستم کاربر وجود نداشته باشد.- تعاریف Glyphهای بکارگرفته شده در متن جاری، ...
WPF MediaElement به صورت پیش فرض در ویندوز XP کار نمیکند؛ مگر اینکه حتما آخرین نگارش موجود Windows Media Player بر روی سیستم نصب شده باشد و حداقل نیاز به نگارش 10 به بعد را دارد. اگر این نگارش نصب نباشد یا هر خطای دیگری رخ دهد، آنرا میتوان از طریق روال رویداد گردان MediaFailed بدست آورد. اگر نگارش بتای مدیاپلیر 11 بر روی سیستم نصب باشد، با پیغام نه چندان آشنای "insufficient memory" مواجه خواهید شد و اهمیتی هم ندارد که سیستم در حال حاضر ...