راه های دسترسی به داده در دات نت فریم ورک!

در اکثر برنامه های کامپیوتری نیاز به ذخیره و بازیابی داده ها وجود دارد. داده هایی که بدون آن ها سیستم نرم افزاری ما معنایی ندارد. برنامه نویسان معمولاً راه های مختلفی برای این کار سراغ دارند. کسانی که با دات نت فریم ورک برنامه نویسی می کنند راه های مختلفی برای دسترسی به داده ها دارند. در این مطلب با تکنولوژی های مایکروسافت برای این کار آشنا خواهیم شد و سه ORM معروف دنیای دات نت را معرفی خواهیم کرد. مایکروسافت انتخاب های زیادی برای دسترسی به داده ها به برنامه نویسان دات نت می دهد که شما باید با بررسی آن ها و با توجه به نیازهای خودتان یکی از آن ها را انتخاب کنید.

ADO.NET

ADO.NET مجموعه ای از کامپوننت هاست که برنامه نویسان می توانند از آن ها برای برقراری ارتباط با دیتابیس های مختلف استفاده کنند. ADO.NET بخشی از کتابخانه کلاس های پایه دات نت فریم ورک است که توسط مایکروسافت توسعه داده می شود. برنامه نویسان به صورت گسترده از این تکنولوژی برای دسترسی و دستکاری داده های ذخیره شده در یک دیتابیس رابطه ای استفاده می کنند. ADO.NET می تواند با اکثر دیتابیس های موجود کار کند، هر چند به صورت پیش فرض در دات نت فریم ورک فقط فراهم کننده های SQL Server، OleDb و Odbc وجود دارد، افراد و شرکت های دیگر فراهم کننده های دیتابیس های دیگر را برای دات نت ایجاد کرده اند.

برای هر Provider کامپوننت هایی وجود دارند که برنامه نویس با استفاده از آن ها به مقصودش می رسد. به طور مثال برای استفاده از SQL Server در روش ADO.NET کامپوننت هایی مانند SQLConnection و SQLCommand وجود دارد که با استفاده از آن ها می توانید یک دستور SQL را روی داده های موجود در یک دیتابیس SQL Server اجرا کنید. با SQLConnection به دیتابیس موجود در SQL Server وصل می شویم و با استفاده از یک SQLCommand می توانیم یک عبارت T-SQL را که می تواند دستور INSERT, UPDATE, DELETE یا SELECT باشد یا حتی یک Stored Procedure یا عبارت DDL باشد را برای مقصود خاصی روی دیتابیس اجرا کنیم. چون ADO.NET در مورد سینتاکس دیتابیس چیزی نمی داند، دستورات را به صورت یک رشته ساده به SQLCommand می دهیم و این شیء نیز به صورت مستقیم به دیتابیس دستور می دهد.

string query = "SELECT * FROM tblCustomers";
SqlConnection con = new SqlConnection(cnnString);
SqlCommand command = new SqlCommand(query, con);
con.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Response.Write(reader.GetInt32(0) +
reader.GetString(1));
}

نکته ای که باید در مورد ADO.NET بدانید این است که برای استفاده از هر سیستم دیتابیس رابطه ای، مجموعه کامپوننت های جدایی وجود دارد. در مثال بالا از آبجکت های مربوط به SQL Server استفاده کردیم. اگر بخواهید مثلاً از یک دیتابیس اوراکل در برنامه خود استفاده کنید، بایستی از کامپوننت های مربوط به اوراکل استفاده کنید. خوشبختانه تمام این کامپوننت ها بر پایه یک Interface ساخته شده اند، این یعنی شما می توانید با استفاده از کلاس DbProviderFactory برنامه ای بسیازید که با چند نوع دیتابیس مختلف کار کند.

Linq to SQL

مایکروسافت با دات نت فریم ورک 3.0 و 3.5 یک ORM به نام Linq to SQL را به عنوان بخشی از پروژه LINQ خود عرضه کرد. این شرکت مدت ها پیش از آن قول داده بود که یک ORM برای دات نت فریم ورک طراحی کند اما تا نسخه 3.0 دات نت فریم ورک خبری از آن پروژه نشد. Linq to SQL به شما اجازه می دهد که کوئری های LINQ را روی دیتابیس های SQL Server اجرا کنید. علاوه بر این از یک Mapping Framework بهره می برد که به برنامه نویسان اجازه Map کردن جدول های یک دیتابیس را به کلاس ها و بالعکس می دهد. این کار در ویژوال استادیو می تواند به صورت ویژوال یا کدنویسی انجام گیرد. به این صورت که برای هر جدول از دیتابیس یک کلاس تعریف می شود که هر ستون از یک جدول به عنوان یک Property درون آن کلاس تعریف می شود.

نمایی از ابزار طراحی ویژوال Linq to SQL

به مثال زیر توجه کنید :
public class Customer
{
[Column(Name="CustomerID",IsPrimaryKey = true)]
public long ID
{
get { return _ID;}
set { _ID = value;}
}
[Column(Name = "CustomerName")]
public string Name
{
get { return _name; }
set { _name = value; }
}
}

کلاس بالا به جدول tblCustomers که دارای دو ستون CustomerID و CustomerName است Map می شود. قبل از اینکه بخواهید از Linq to SQL استفاده کنید باید این کلاس ها را تعریف کنید. ویژوال استادیو 2008 دارای ابزاری است که به صورت ویژوال به شما امکان Map کردن جدول های یک دیتابیس SQL Server را به کلاس های دات نت می دهد. این ابزار می تواند به صورت اتوماتیک کلاس های مورد نیاز شما را از روی مدل دیتابیس بسازد، و حتی اجازه تغییرات دستی و ایجاد Viewهای مختلف از دیتابیس را به شما می دهد. عملیات Mapping با استفاده از DataContext (که یک رشته اتصال به سرور نیاز دارد) پیاده سازی می شود. سپس شما قادر خواهید بود کوئری های LINQ خود را روی دیتابیس موجود در سرور اجرا کنید، که البته این کوئری ها ابتدا به دستوارت T-SQL متناظر ترجمه و سپس روی دیتابیس مورد نظر اجرا می شوند.

Entity Framework

Entity Framework یک فریم ورک ORM برای دات نت فریم ورک است که نسخه یک آن به همراه دات نت فریم ورک 3.5 سرویس پک 1 عرضه شد اما مورد استقبال توسعه دهندگان قرار نگرفت. نسخه 2 این فریم ورک به صورت بتا به عنوان بخشی از ویژوال استادیو 2010 قابل دسترس است. ADO.NET Entity Framework نام اصلی این فریم ورک است و جزئی از تکنولوژی ADO.NET است.

ابزار طراحی Entity Framework در ویژوال استادیو

ابزار طراحی Entity Framework در ویژوال استادیو

Entity Framework مدل رابطه ای موجود در یک دیتابیس را به مدل مفهمومی تبدیل می کند و آن را به اپلیکیشن ما تحویل می دهد. در مدل رابطه ای عناصر ترکیبی از جداول هستند، به همراه کلید های اصلی و خارجی که جدول ها را به هم مرتبط می سازند. برعکس آن، انواع موجودیت ها مدل مفهومی داده را تعریف می کنند. انواع موجودیت  اجتماعی از چند فیلد است (هر فیلد به یک ستون از دیتابیس Map می شود) و می تواند شامل اطلاعات از چند جدول فیزیکی باشد. انواع موجودیت می توانند به هم مرتبط باشند، مستقل از ارتباطاتی که در مدل فیزیکی دارند. شمای منطقی و نگاشت (mapping) آن به شمای فیزیکی به عنوان یک Entity Data Model یا EDM نمایش داده می شوند که مشخصات EDM در یک فایل XML ذخیره می شود. Entity Framework از EDM برای انجام عملیات نگاشت و دادن قابلیت کار با موجودیت ها به اپلیکیشن استفاده می کند. Entity Framework اطلاعات مورد نیاز هر موجودیت را با Join کردن چندین جدول از مدل فیزیکی (دیتابیس) بدست می آورد. هنگامی که اطلاعات یک موجودیت آپدیت می شود، Entity Framework بررسی می کند که داده ها مربوط به کدام یک از جدول های موجود در دیتابیس هستند، سپس آن ها را با دستور SQL مناسب آپدیت می کند.

هر چند Entity Framework و Linq to SQL بسیار شبیه به هم به نظر می رسند، هر دو ابزارهایی برای طراحی گرافیکی و ویزاردی برای نگاشت یک دیتابیس به مدل شیء گرا دارند و هر دو می توانند از کوئری های LINQ برای مقصود خاصی استفاده کنند، اما با هم تفاوت هایی هم دارند. بیان تفاوت های این دو در این مطلب جایی ندارد.

NHibernate

نمی توان در مورد ORMها در دات نت صحبت کرد اما نام NHiernate را ذکر نکرد. NH یک فریم ورک ORM اوپن سورس برای دات نت فریم ورک است که از روی پروژه موفق Hibernate جاوا وارد دنیای دات نت شد. توضیحات بیشتر در مورد NHibernate توضیحات اضافی است، زیرا این فریم ورک هم وظیفه ORMهای دیگر را انجام می دهد. اکثر برنامه نویسانی که از NH برای نگاشت استفاده می کنند، ابتدا کلاس های خود را تعریف می کنند و سپس با استفاده از یک فایل XML آن ها را به جدول های دیتابیس Map می کنند. Linq to SQL و Entity Framework برخلاف NHibernate از روش Model-first یا مبتنی در دیتابیس استفاده می کنند، به این معنی که هر دو ORM تصور می کنند شما دیتابیسی در اختیار دارید که می خواهید آن به تعدادی آبجکت Map کنید.

در مورد Nhibernate بیش از این صحبت نمی کنم، آقای وحید نصیری در اینجا به صورت کامل در مورد این ORM محبوب نوشته است.

farasun.wordpress.com

انتخاب از میان روش های بالا به عهده خود شماست. در این مطلب کوتاه نمی توان به بررسی تمام زوایا و تفاوت های میان آن ها پرداخت. در مطالب آینده سعی میکنم در مورد نحوه استفاده از هر کدام یک مثال عملی بزنم (البته به جز NHibernate).

Kaxaml یک ویرایشگر خوب برای فایل های xaml

اگر با WPF یا سیلورلایت آشنایی داشته باشید حتماً می دانید فایل های xaml به چه دردی میخورند! Xaml یک زبان بر مبنای XML است که برای طراحی رابط کاربری اپلیکیشن های WPF و Silverlight مورد استفاده قرار می گیرد. با استفاده از این زبان، می توانید رابط های کاربری بسیار زیبایی خلق کنید.

kaxaml

برنامه نویسانی که از WPF در پروژه هایشان استفاده می کنند حتماً از قابلیت های ویرایشگر های ویژوال استادیو و Expression Blend برای ویرایش فایل های Xaml باخبرند. نرم افزارهای فوق امکانات خوبی برای این کار در اختیار شما قرار می دهند. اما یک برنامه نویس همیشه به جز یک محیط توسعه خوب، یک ابزار سبک هم برای ویرایش فایل های برنامه اش کنار می گذارد. به طور مثال من از ویژوال استادیو استفاده میکنم اما برای ویرایش فقط یک فایل سورس سی شارپ هیچ وقت ویژوال استادیو رو باز نمی کنم، بلکه با Notepad++ کارم را انجام می دهم.

kaxaml-shot
برای ویرایش فایل های xaml نیز می توان از ابزارهای سبک تر از ویژوال استادیو و Expression Blend استفاده کرد. Kaxaml یک ویرایشگر بسیار مناسب و سبک برای این منظور است. Kaxaml هم رایگان است و هم اوپن سورس و هم خودش بر مبنای WPF و دات نت فریم ورک 3.0 توسعه یافته است. این برنامه امکانات خوبی همچون پیشنهاد عبارات مرتبط شبیه به Intellisense دارد. چندین فایل xaml را می توانید در تب های جداگانه ویرایش کنید. در حین تایپ کدهایتان می توانید پیش نمایش زنده ای از طرح تان ببینید.
یکی از ویژگی های خوب این برنامه، ویژگی Snippets است که شامل کدهای نمونه xaml است که با آن ها می توانید به یادگیری زبان xaml بپردازید. حتی می توانید قطعه کدهای خود را نیز به Snippets اضافه کنید. ویژگی مناسب دیگر آن، قابلیت ذخیره کردن طرح شما در قالب PNG است.

Kaxaml توسط یکی از اعضای اصلی تیم توسعه WPF مایکروسافت نوشته شده و سورس کد آن در سایت CodePlex در دسترس است.

Kaxaml در نسخه جدید و بتای خود از سیلورلایت 2 پشتیبانی می کند. نسخه بتا را از اینجا و نسخه 1.0 (قدیمی تر) را اینجا دریافت کنید. نسخه بدون نیاز به نصب را نیز از اینجا دریافت کنید.

farasun.wordpress.com

می خواهید مطالب این وبلاگ را دنبال کنید! مشترک فید فراسان شوید! نمی دانید فید چیست!؟

مطالب مرتبط :

وب سرویس به زبان ساده

وقتی اینترنت همه گیر شد و استفاده از آن سرعت گرفت، همیشه این سئوال بود که دو کامپیوتر که از هم دور هستند چگونه می توانند بدون دخالت یک انسان با هم ارتباط برقرار کنند. منظور از ارتباط این است که یک برنامه در یک کامپیوتر بتواند تابعی که در یک برنامه دیگر که در یک کامپیوتر دور از خودش قرار دارد را صدا بزند و نتیجه اش را دریافت کند. به هر حال شرکت های نرم افزاری دست به کار شدند تا پاسخی برای این مشکل پیدا کنند. شرکت مایکروسافت در این زمینه هم پیشرو بود و تکنولوژی DCOM را برای رفع این نیاز تولید کرد.
نسل بعدی راه حل این مشکل، که هم اکنون به صورت گسترده ای در اینترنت مورد استفاده قرار می گیرد، وب سرویس ها هستند. وب سرویس ها، برنامه های تحت دسکتاپ و تحت وب را قادر می سازند که با یک ارتباط روی HTTP به توابع داخل آن ها دسترسی پیدا کنند و نتیجه اش را در قالب فرمت استاندارد XML دریافت کنند.
وب سرویس ها به زبان برنامه نویسی، پلت فرم و پروتکل خاصی وابستگی ندارند.  یعنی شما می توانید با هر زبان برنامه نویسی روی هر پلت فرمی از وب سرویس ها استفاده کنید. یک وب سرویس نتیجه پردازش هایش را در قالب فرمت XML به برنامه در خواست کننده بوسیله HTTP می فرستد. فرمت XML، راهی استاندارد برای ارتباط دو سیستم ناسازگار است. علت اینکه پیغام های وب سرویس ها با استفاده از HTTP ارسال می شود این است که به راحتی و بدون اینکه توسط فایروال ها بلاک شوند، به دست برنامه درخواست کننده روی اینترنت برسد.
از مثال های وب سرویس های ساده ای که امروز استفاده می شود، می توان به سرویس گزارش وضع هوا، سرویس اخبار، سرویس تبدیل واحدهای پولی، سرویس شناسایی کشور از روی IP و … اشاره نمود.

Web Service in .NET platform

اصطلاحات معمولی که با وب سرویس بکار می روند :

  • SOAP
    مخفف Simple Object Access Protocol و قراردادی است که نحوه صدا زدن متدهای یک وب سرویس و اینکه چطور پیغام ها قالب بندی می شوند، و چطور با HTTP فرستاده می شوند را مشخص می کند. SOAP همچنین نمایش استانداردی برای پیغام های خطا ارائه می کند.
  • WSDL
    مخفف Web Service Description Lanuage و استانداردی است که به کلاینت می گوید چه ورودی هایی این وب سرویس قبول می کند و پس از پردازش آن چه خروجی هایی به آن برخواهد گرداند. WSDL شامل همه جزئیاتی است که برای استفاده از آن وب سرویس نیاز است. متدها و خصوصیاتی که وب سرویس فراهم می کند، URL متدهایی که کلاینت می تواند به آن ها دسترسی داشته باشد، انواع داده ای مورد استفاده وب سرویس و پروتکل ارتباطی که مورد استفاده وب سرویس قرار می گیرد، اطلاعاتی هستند که WSDL به کلاینت ارائه می کند.
  • REST
    مخفف Representational State Transfer که توابع استاندارد پروتکل HTTP مثل GET, POST را به کلاینت ارائه می کند. به طور مثال API وب سایت توییتر در واقع وب سرویسی است که به کلاینت های مختلف اجازه فرستادن آپدیت ها و یا گرفتن تایم لاین های مختلف را می دهد.
  • SOA
    مخفف Service-oriented Architecture و مفهومی است که وب سرویس ها قادر به پیاده سازی آن ها می باشند. معماری مبتنی بر سرویس یکی از مفاهیم جدیدی است که شرکت های بزرگ نرم افزاری سرمایه گذاری های زیادی روی آن انجام داده اند.

وب سرویس ها در پلت فرم های نرم افزاری معروف مثل دات نت و جاوا از جایگاه ویژوه ای برخوردارند. به طور مثال برای ایجاد یک وب سرویس با استفاده از پلت فرم دات نت و ویژوال استادیو قدم های زیر را دنبال کنید :
از منوی File و زیر منوی New گزینه WebSite را برگزینید. در پنجره باز شده ASP.NET Web Service را انتخاب کنید. در پنجره Solution Explorer فایل Service.asmx را به نام مناسب تغییر دهید. برای مثال من متدی برای تبدیل تاریخ میلادی به تاریخ شمسی به وب سرویسم اضافه می کنم.
[WebMethod(Description="Convert a greogorian date to persian date")]
public DateTime ToPersianDate(DateTime gdate)
{
return BLL.ToPersianDate(gdate);
}

البته در این مثال مهم نیست که چطور این متد تاریخ میلادی را به شمسی تبدیل می کند، مهم نحوه اضافه کردن یک متد به یک وب سرویس است.

سیلورلایت 3.0 ارائه شد

تمام کسانی که به تکنولوژی های روز دنیای برنامه نویسی، مخصوصاً فناوری های شرکت مایکروسافت علاقه دارند، تا به حال باید در مورد نسخه جدید Silverlight چیزهایی شنیده باشند و یا مقالاتی در مورد ویژگی های جدید آن مطالعه کرده باشند. این نسخه از سیلورلایت دارای ویژگی های جدیدی است که هر توسعه دهنده ی وبی را به استفاده از آن علاقه مند می کند.

18 مارس در MIX09 مایکروسافت نسخه ی بتای سیلورلایت 3.0 را معرفی کرد. در این کنفرانس که در لاس وگاس برگزار شد، علاوه بر نسخه جدید سیلورلایت، IIS 7، ASP.NET MVC Framework، IE 8، Blend 3، Visual Studio 2010 نیز مورد بررسی قرار گرفتند.  در این نوشته قصد داریم به معرفی ویژگی های جدید سیلورلایت نسخه 3.0 بتا بپردازیم.

اجرا خارج از مرورگر Out of Browser

یکی از مهمترین و پر سر و صداترین ویژگی های سیلورلایت جدید، امکان اجرای برنامه های مبتنی بر سیلورلایت بدون استفاده از مرورگر وب است.با سیلورلایت 3 قادرید اپلیکیشن هایی بسازید که خارج از مرورگر و در دسکتاپ شما اجرا می شوند. در این حالت کاربران می توانند از اپلیکیشن شما در حالت آفلاین هم استفاده کنند.

بهبود های گرافیکی

سیستم گرافیکی سیلورلایت بهبودهای زیادی در این نسخه پیدا کرده است. پشتیبانی از افکت های قابل برنامه ریزی، perspective 3D، ایجاد فایل های Bitmap با استفاده از API های جدید سیلورلایت از این جمله اند. این بهبودهای گرافیکی، توسعه دهندگان را قادر میسازد تا مانور بیشتری روی تصاویر بدهند و افکت های تصویری مطلوب خود را تولید کنند.

کنترل های جدید

چندین کنترل جدید به SDK سیلورلایت اضافه شده اند و برخی از کنترل های موجود بهبود یافته اند. در این نسخه کنترل های جدید برای اعتبار سنجی داده های ورودی و هندل کردن خطاهای رابط کاربری معرفی شده اند. این کنترل ها به هنگام وارد کردن داده ها توسط کاربر به اعتبار سنجی آن و احتمالاً نشان دادن پیغام خطا می پردازند. برخی از کنترل های موجود در Silverlight Control Toolkit از جمله WrapPanel, DockPanel, ViewBox, AutoCompleteBox,Label در SDK نسخه 3.0 سیلورلایت ارائه شده اند. کنترل جدید SaveFileDialog هم به کاربران اجازه ذخیره فایل ها را روی هارد دیسک کامپیوترشان می دهد.

کنترل های پیشرفته تر مثل DataForm که امکان کار با داده ها (اضافه کردن، حذف و ویرایش) و حرکت میان آن ها را به شما می دهد. DataPager که امکان مرور صفحه به صفحه داده ها را به کاربر نهایی می دهد و Navigation Framework که برای حرکت میان صفحات یک اپلیکیشن سیلورلایت کاربرد دارد.

قابلیت های چند رسانه ای

چیزی که از قبل معلوم بود، پشتیبانی سیلورلایت 3.0 از فرمت های H264 و ACC است. پشتیبانی از RAW و امکان ایجاد Codecهای سفارشی توسط توسعه دهندگان از دیگر قابلیت های اضافه شده به سیستم مالتی مدیای سیلورلایت است.

بهبود کیفیت رندر متون Text Rendering

استفاده از افکت های انیمیشنی در متن ها و ایجاد متونی واضح تر برای کاربر در این نسخه از سیلورلایت بیشتر به چشم می آیند. با استفاده از API جاوا اسکریپت موجود در این نسخه، اپلیکیشن های سیلورلایت می توانند از فونت های محلی روی سیستم کاربر نیز علاوه بر فونت های روی سرور، استفاده کنند، که این باعث کاهش زمان بارگذاری اپلیکیشن می شود. در نسخه نهایی سیلورلایت قرار است از فناوری ClearType هم برای افزایش کیفیت متون استفاده شود.

بایند کردن عنصر به عنصر Element-to-Element Binding

این قابلیت به عناصر موجود روی رابط کاربری اجازه بایند شدن به مشخصات (Properties) یکدیگر را می دهد. مثلاً بدون کد نویسی می توانید مقدار یک Slider را به پراپرتی Text یک TextBox نسبت دهید. با این کار هر گاه مقدار Slider توسط کاربر تغییر کند، مقدار Text مربوط به TextBox به صورت خودکار آپدیت می شود.

Network Monitoring API

با استفاده از این API خواهید توانست اتصال به اینترنت را در یک اپلیکیشن سیلورلایت چک کنید. برخی مواقع لازم است که بدانید کاربر با اینترنت ارتباط دارد یا از آن Disconnect شده است.

Binary XML

برای ارتباط با سرویس های WCF، علاوه بر فرمت معمولی مبتنی بر متن XML، می توانید از فرمت فشرده Binary XML در سیلورلایت 3 استفاده کنید.

سرویس های .NET RIA

به همراه سیلورلایت 3 بتا، مایکروسافت فریم ورک .NET RIA Services را منتشر کرده است. این ابزار سعی می کند تا معماری n-tier را ساده تر کند و دو فناوری Silverligt و ASP.NET را به هم نزدیک تر نماید. .NET RIA Services الگویی برای نوشتن منطق برنامه در لایه میانی اپلیکیشن به شما ارائه می کند و دستیابی به داده ها را کنترل می کند. وظیفه هایی مثل اعتبار سنجی داده ها، تشخیص هویت و ارتباط میان سیلورلایت در کلاینت و ASP.NET در لایه میانی را بر عهده دارد.

واضح است که در این مطلب کوتاه نمی توان به بررسی تمام ویژگی های جدید سیلورلایت 3.0 پرداخت. مایکروسافت تمام تلاش خود را می کند تا آینده دنیای نرم افزار را در دست بگیرد و استانداردهای نرم افزارهای آینده را از همین حالا تعیین کند. مایکروسافت قدم های اولیه را خیلی وقت است به درستی برداشته است و در این راه با وجود رقبای بزرگی مثل گوگل، IBM و ادوبی تا به حال موفق بوده است. باید منتظر ماند و دید آیا تلاش مایکروسافت منجر به ظهور انقلابی در دنیای برنامه نویسی و نرم افزار خواهد شد یا خیر.

در مطالب بعدی در مورد ابزارهای عرضه شده برای توسعه اپلیکیشن های سیلورلایت 3.0 و در کل فناوری سیلورلایت بیشتر خواهید خواند. برای اینکه این مطالب را از دست ندهید، مشترک فراسان شوید.

شاید این مطالب هم برای شما خواندنی باشند :

اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

چطور مشترک شويم؟

ویرایش فایل های XML با XML Notepad 2007

فرمت XML در حال تبدیل شدن به یک فرمت جهانی و استاندارد برای تبادل داده ها و اسناد میان نرم افزارهای کاربردی و پلت فرم های مختلف است. شرکت مایکروسافت یکی از شرکت های پیشرو در گسترش فرمت XML به شما می رود که با معرفی فرمت های جدید نرم افزار آفیس 2007 که مبتنی بر XML بود قدم بزرگی در استانداردسازی این فرمت برداشته است. تکنولوژی های مربوط به XML در پلت فرم برنامه نویسی مایکروسافت یعنی دات نت فریم ورک از جایگاه ویژه ای برخوردارند و تاکید مایکروسافت به برنامه نویسان انتقال اسناد و داده ها میان برنامه ها با استفاده از این فرمت خواهد بود.

XML Notepad 2007 به برنامه نویسان (کاربران) امکان مشاهده محتوا، مرور ویرایش فایل های XML را می دهد. این نرم افزار رابط کاربری ساده ای برای ایجاد فایل های XML به کاربر ارائه می کند. همانطور که می دانید فایل های XML طبیعت درختی دارند، یعنی هر عنصری که در آن ها تعریف می شود، ممکن است دارای بچه (Child) باشد و یا دارای والد (Parent) باشد. وقتی یک فایل XML را در این برنامه باز می کنید، محتویات آن را به صورت درختی به شما نشان می دهد تا کار کردن با آن راحت و موثر باشد.

XML Notepad 2007

XML Notepad 2007

از قابلیت های نرم افزار می توان به موارد زیر اشاره کرد :

  • نشان دادن عناصر فایل به صورت درختی و اجازه ویرایش سریع آن ها
  • جستجوی آسان در میان عناصر و مقادیر
  • پشتیبانی از کشیدن و رها کردن (Drag and Drop) داده ها و عناصر در چند سند XML
  • Undo و Redo بی نهایت برای برگرداندن تغییرات به حالت قبل
  • جستجو میان فایل های XML با استفاده از عبارات با قاعده (Regular Expressions)
  • باز کردن سریع فایل های XML حجیم با کارایی بالا
  • اعتبار سنجی فایل XML با سرعت بالا، وقتی در حال ویرایش هستید خطاهایتان را می بینید
  • مقایسه دو فایل XML
  • و …

برای اجرای این برنامه احتیاج به دات نت فریم ورک 2.0 یا بالاتر دارید

دریافت XML Notepad 2007

همانطور که در تصویر مشاهده می کنید، من فید فراسان را با این برنامه باز کردم. فرمت RSS هم مبتنی بر XML است.

شاید این مطالب هم برای شما خواندنی باشند :

اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

چطور مشترک شويم؟

LINQ چیست؟

مایکروسافت پس از عرضه دات نت فریم ورک 2 کار بر روی نسخه 3 آن را شروع کرده بود.  هنگام معرفی دات نت فریم ورک 3، مایکروسافت فناوری جدیدی را به نام LINQ معرفی کرد تا یکی از بزرگترین مشکلات برنامه نویسان را حل نماید. این فناوری جدید با هدف تحول در نحوه دستیابی به داده ها و اطلاعات بدون در نظر گرفتن نوع منبع آن ها بوجود آمده است.

LINQ (تلفظ می شود «لینک») مخفف Language INtegrated Query یکی از اجزای پلتفرم برنامه نویسی دات نت شرکت مایکروسافت است که قدرت کار با داده های مختلف را به زبانی شبیه زبان SQL به توسعه دهندگان می دهد. LINQ در 19 نوامبر 2007 به عنوان قسمتی از دات نت فریم ورک 3.5 عرضه شد.

منطق و دستورات لینک شبیه به زبان SQL است با این تفاوت که به تنهایی کابردی ندارد. شما باید از زبان لینک در کنار یکی از زبان های دات نت استفاده کنید تا به مقصود خود برسید در صورتی که زبان SQL یک زبان مستقل برای کار با داده هاست. اگر برنامه نویس باشید می دانید که برای دستیابی به داده های موجود در یک بانک اطلاعاتی علاوه بر استفاده از فناوری های دستیابی به داده همچون ADO باید از زبان SQL نیز استفاده کنید. مشکلی که برنامه نویسان قبل از ارائه لینک با آن مواجه بودند این بود که لایه دسترسی به داده ها از روش و منظقی متفاوت از لایه های دیگر عمل می کند. مثلاً در نظر بگیرید در یک برنامه مبتنی بر بانک اطلاعاتی برنامه نویس باید داده ها را از یک بانک اطلاعاتی با استفاده از دستورات SQL بخواند و سپس با منطق زبان برنامه نویسی آن ها را به لایه نمایش بفرستد. این عدم سازگاری لایه های نرم افزاری مشکلات زیادی به همراه می آورد. امروزه برنامه نویسان بر اساس مدل «شیء گرا» کدهای خود را می نویسند. واژه هایی همچون کلاس، شیء، متد و وراثت برای برنامه نویسان آشناست و آن ها هر روز در پروژه هایشان از آن ها استفاده می کنند. در این میان یکی از مشکلات برنامه نویسان شیء گرا، عدم شیء گرایی پایگاه های داده و داده های XML است. پروژه LINQ برای اضافه کردن قابلیت شیء گرایی به زبان SQL و در نتیجه پایگاه های داده و داده های XML بوجود آمد.

LINQ Structure
LINQ Structure

شرکت مایکروسافت برای غلبه بر مشکلات ذکر شده زبانی را طراحی نمود که در حال حاضر در دات نت فریم ورک 3.5 از آن استفاده می شود و همراه با ویژوال استادیو 2008 عرضه شده است. تمام سعی مایکروسافت بر این بوده که قواعد (Syntax) زبان لینک شبیه به زبان SQL باشد تا برنامه نویسان مجبور نباشند برای یادگیری آن وقت بگذارند. اگر برنامه نویس باشید می دانید که کوئری های زبان SQL را در یک زبان برنامه نویسی باید به صورت رشته ای (String) بنویسید و این بدین معنی است که در این صورت کوئری ها قابلیت اشکال زدایی (Debugging) نخواهند داشت. در این روش اشکال زدایی دستورات SQL بسیار مشکل خواهد بود و بعضی وقت ها واقعاً دردسر ساز خواهد شد. این را هم می دانید که دستورات SQL که به صورت رشته نوشته می شوند به همراه دیگر دستورات برنامه کامپایل نمی شوند و فقط به صورت ریسورس های رشته ای ذخیره می شوند. حالا در نظر داشته باشید که با لینک می توانید مشکلات بالا را برطرف کنید و کوئری های SQL را اشکال زدایی کنید. بدین ترتیب برنامه نویسان دات نت می توانند در هر یک از زبان های مورد حمایت دات نت همچون ویژوال بیسیک و سی شارپ از فناوری LINQ استفاده کنند و از مزایایی مثل خطایابی، IntelliSense و قدرت ویژوال استادیو استفاده کنید. به یاد داشته باشید که LINQ فقط برای داده های موجود در بانک های اطلاعاتی مورد استفاده قرار نمی گیرد بلکه صرف نظر از منبع داده ها LINQ قادر است با داده های آرایه های مختلف، کلاس ها، اشیای مختلف و فایل های XML مورد استفاده قرار گیرد.

پروژه LINQ در مایکروسافت | LINQ در ویکی پدیا

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مربتط :

قبل از یادگیری Silverlight به چه مهارت هایی نیاز دارید؟

این سئوال برای خیلی از برنامه نویسانی که قصد شروع یادگیری سیلورلایت را دارند پیش می آید. قبل ازاینکه شروع به یادگیری سیلورلایت کنیم باید چه مهارت هایی داشته باشیم؟ آیا برای یادگیری سیلورلایت باید یک برنامه نویس حرفه ای ASP.NET باشیم؟ نیازی به یادگیری JavaScript یا XML خواهیم داشت؟ در واقع پیش نیازهای یادگیری سیلورلایت چه چیزهایی است؟

سئوال بسیار خوبی است! به صورت ساده جواب این سئوال معلوم است. شما برای یادگیری سیلورلایت به هیچ مهارت خاصی نیاز ندارید. علاقه و کمی پشتکار تمام چیزی است که شما لازم خواهید داشت. در واقع کاملاً معقول و امکان پذیر است که شما سیلورلایت را به عنوان اولین تجربه برنامه نویسی خود انتخاب کنید… اما پروسه یادگیری شما کمی طولانی تر و دردناک تر خواهد شد!!!

Silverlight

یادگیری سیلورلایت برای برنامه نویسان دات نت بسیار راحت تر از سایر افراد است. به شما توصیه می کنم اگر قصد یادگیری سیلورلایت را دارید، ابتدا کمی در مورد معماری دات نت مطالعه کنید و سپس یکی از زبان های برنامه نویسی دات نت مثل سی شارپ یا VB را یاد بگیرید. نگران نباشید! نیازی نیست در این قسمت به یک حرفه ای تبدیل شوید. به طور معمول یک ماه کافیست تا شما تبدیل به یک برنامه نویس آماتور دات نت شوید.

خب حالا که یک برنامه نویس دات نت شدید! بهتر است آشنایی مختصری هم با مفاهیم زیر داشته باشید :

  • HTML : زبان نشانه گذاری صفحات وب. یادگیری HTML بسیار آسان تر از آن چیزی است که فکر می کنید.
  • JavaScript : حداقل مفاهیم پایه ای این زبان را یاد بگیرید.
  • DHTML : نیازی نست حرفه ای شوید، فقط مفاهیم آن را بدانید.
  • مفاهیم پایه برنامه نویسی (مثل دستورات شرطی، حلقه ها، رویدادگرایی و …)

موارد بالا را به راحتی می توانید با خواندن چند کتاب کوچک یا مقالات وب سایت های مختلف یاد بگیرید. شاید الان این سئوال برای شما پیش بیاید که «پس ASP.NET چی؟ نباید آن را یاد بگیریم؟». برای جواب به این سئوال موارد زیر به شما کمک خواهد کرد :

  • ASP.NET : تا وقتی نخواهید دو تکنولوژی سیلورلایت و ASP.NET را با هم ادغام کنید نیازی به آن ندارید. اما برای مبدل شدن به یک توسعه دهنده وب حرفه ای احتیاج زیادی به ASP.NET خواهید داشت.
  • XML : تا نیازی بهش پیدا نکنید، لازم نیست. اما یکی از نیازهای اساسی مبدل شدن به یک متخصص و حرفه ابست.

نکته مهم دیگر، یادگیری و استفاده از XAML است. XAML زبان نشانه گذاری سیلورلایت است و بسیار بسیار شبیه به XML. ولی من اعتقاد دارم که بدون یادگیری XML شما به راحتی XAML را بدون هیچ مشکلی یاد خواهید گرفت. برای یادگیری XAML می توانید از منابع آنلاین، فایل راهنمای آن یا کتاب های مختلف کمک بگیرید.

همان طور که قبلاً گفتم، برای یادگیری یک تکنولوژی جدید، مشاهده و یادگیری مثال های کاربردی و عملی بهترین گزینه اند. اگر از اینترنت پر سرعت بهره می برید، ویدئوهای آموزشی سیلورلایت را از دست ندهید.

وب سایت اختصاصی آموزش Silverlight

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :