PDA

View Full Version : حرفه ای: تولید فرم با کنترل های داینامیک با استفاده از XML (کاری که کمتر کسی در جهان انجام داده)



alireza.zahani
چهارشنبه 20 دی 1391, 02:04 صبح
سلام به همگی
چجوری میشه یک فرم با کنترل های داینامیک رو با استفاده از یک فایل xml که اون هم داینامیک هستش طراحی کرد.
سوالو اینحوری مطرح میکنم:
فرضا ما یک فروشگاه کالا داریم
دسته بندی کالاها متفاوته
فرضا گروه لوازم الکترونیکی داریم و گروه لباس
لوزم الکترونیکی خودش شامل موبایل تلوزیون و ....
لباسم شامل فصلی و منزلی و....
هر موبایل یه اسم و رنگ و n خصوصیت میتونه داشته باشه
همینطور محصولات دیگه
3,4 روش برای داینامیک کردن وجود داره که ما طراحی به وسیله xml رو انتخاب کردیم
چه جوری میشه این اطلاعات را برای هر گروه به صورت منحصر به فرد نشون داد
ناگفته نماند که نوع داده هم از کاربر پرسیده میشه
فرضا موبایل:
رنگ ----> رشته
قیمت ----> پولی
وزن ---> عددی
سایر امکانات از نوع ----> چند انتخابی (بلوتوث - دارد || دوربین - ندارد و .....)

ahmad156
چهارشنبه 20 دی 1391, 07:49 صبح
دوست عزیز مدتی هست دارم رو این موضوع فکر میکنم.اگر بخواین با xml کار کنین مسلما اولین دلیلتون سرعت هست و اینکه اطلاعاتتون سمت کاربر (در وهله اولیه) باید تغییر یا فراخوانی بشه.پس شما باید با jquery یا همون javascript فایل xml را تغییر داده و با استفاده از اینها اطلاعات مربوط به فرم رو بخونین.کار غیرممکنی نیست ولی خیلی خیلی کار میبره.(اگر نبود که تا الان انجام شده بود:لبخند:)

alireza.zahani
چهارشنبه 20 دی 1391, 08:25 صبح
چرا Jquery ؟
با linq کار رو خیلی راحتر انجام میده

zarifcomputer
چهارشنبه 20 دی 1391, 08:36 صبح
سلام به همگی
چجوری میشه یک فرم با کنترل های داینامیک رو با استفاده از یک فایل xml که اون هم داینامیک هستش طراحی کرد.
سوالو اینحوری مطرح میکنم:
فرضا ما یک فروشگاه کالا داریم
دسته بندی کالاها متفاوته
فرضا گروه لوازم الکترونیکی داریم و گروه لباس
لوزم الکترونیکی خودش شامل موبایل تلوزیون و ....
لباسم شامل فصلی و منزلی و....
هر موبایل یه اسم و رنگ و n خصوصیت میتونه داشته باشه
همینطور محصولات دیگه
3,4 روش برای داینامیک کردن وجود داره که ما طراحی به وسیله xml رو انتخاب کردیم
چه جوری میشه این اطلاعات را برای هر گروه به صورت منحصر به فرد نشون داد
ناگفته نماند که نوع داده هم از کاربر پرسیده میشه
فرضا موبایل:
رنگ ----> رشته
قیمت ----> پولی
وزن ---> عددی
سایر امکانات از نوع ----> چند انتخابی (بلوتوث - دارد || دوربین - ندارد و .....)

سلام
نمیدونم اون 3 - 4 روشی که برای داینامیک کردن وجود داره چیا هستند . اگه در موردشون توضیح بدید شاید برای بقیه هم مفید باشه و یه چیزی از شما یاد بگیریم.

بنده به جای استفاده از xml روش دیگری را پیشنهاد میکنم:
یک جدول برای دسته بندی کالا ها بسازید به صورتیکه بتوانید ساختار درختی در آن تعریف کنید. و یک جدول برای کالا و یک جدول هم برای مشخصات و ویژگی های منحصر به فرد هر کالا طراحی کنید.جدول دسته بندی را با جدول کالا ها مرتبط کنید و در جدول کالا ، اطلاعاتی که بین تمام کالا ها مشترک هستند را نگهداری کنید مثل قیمت ، نام ، تاریخ درج در سیستم ، تاریخ انقضاء ، تعداد موجود و .... و در جدول مشخصات کالا فقط دو ستون ایجاد کنید. 1- عنوان ویژگی مثلا رنگ، وزن ، طول ، عرض و .... 2- مقدار ویژگی که یک رشته است مثلا برای رنگ "آبی" و برای وزن "300 گرم" و ...
در این صورت تمام اطلاعات سایت شما داینامیک خواهد بود و دیگر نیازی به دریافت نوع داده از کاربر نخواهد بود . اینطوری میتونید سیستم را به هر کاربری با هر سطح دانشی از انفورماتیک تحویل دهید و نگران این موضوع هم نباشید که کاربر شما معنای انواع داده را میداند یا نه و یا ممکن است انواع داده را اشتباه انتخاب کند.

alireza.zahani
چهارشنبه 20 دی 1391, 09:27 صبح
سلام
نمیدونم اون 3 - 4 روشی که برای داینامیک کردن وجود داره چیا هستند . اگه در موردشون توضیح بدید شاید برای بقیه هم مفید باشه و یه چیزی از شما یاد بگیریم.

بنده به جای استفاده از xml روش دیگری را پیشنهاد میکنم:
یک جدول برای دسته بندی کالا ها بسازید به صورتیکه بتوانید ساختار درختی در آن تعریف کنید. و یک جدول برای کالا و یک جدول هم برای مشخصات و ویژگی های منحصر به فرد هر کالا طراحی کنید.جدول دسته بندی را با جدول کالا ها مرتبط کنید و در جدول کالا ، اطلاعاتی که بین تمام کالا ها مشترک هستند را نگهداری کنید مثل قیمت ، نام ، تاریخ درج در سیستم ، تاریخ انقضاء ، تعداد موجود و .... و در جدول مشخصات کالا فقط دو ستون ایجاد کنید. 1- عنوان ویژگی مثلا رنگ، وزن ، طول ، عرض و .... 2- مقدار ویژگی که یک رشته است مثلا برای رنگ "آبی" و برای وزن "300 گرم" و ...
در این صورت تمام اطلاعات سایت شما داینامیک خواهد بود و دیگر نیازی به دریافت نوع داده از کاربر نخواهد بود . اینطوری میتونید سیستم را به هر کاربری با هر سطح دانشی از انفورماتیک تحویل دهید و نگران این موضوع هم نباشید که کاربر شما معنای انواع داده را میداند یا نه و یا ممکن است انواع داده را اشتباه انتخاب کند.

این کارها قبلا انجام شده و ما فقط به linq فکر میکنیم

alireza.zahani
چهارشنبه 20 دی 1391, 09:34 صبح
روش اول:
اینکه جدولی برای گروه و نام کالا و مشخصات تعریف شه و جدولی هم برای نوع داده
که در جدول نهایی ذخیره میشه
روش دوم:
همه ی گروه ها با کالا ها در یک جدول و یک جدول نوع و یک جدول ذخیره
روش سوم:
دخیره سازی به صورت رشته و پردازش رشته ها(کاری که MICROSOFT انجام میده)
روش چهارم:
برای هر نوع داده یک جدول
روش های دیگریم هست که در نهایت
روش مد نظر ذخیره داده با استفاده از xml
سرعت بالا ، انعتاف بالا و ساختن صفحات داینامیک راحتر و دیگر دلیل ها باعث شده این روش انتخاب بشه

ahmad156
چهارشنبه 20 دی 1391, 12:52 عصر
دوست عزیز هدف اصلی استفاده از xml باید سرعت باشه که قرار نباشه به ازای هر عمل نیاز به عملیات سمت سرور باشه اگر نباشه هیچ دلیلی وجود نداره شما وقتی DataBase وجود داره از xml استفاده کنین و تنها راه استفاده از xml که باعث افزایش چشمگیر سرعت در وهله اولیه بشه کار کردن با jquery و javascript هست.
درضمن اگر بخواین از xml استفاده کنین تنها مزیتش سرعت هست و انعطاف بالا و ساخت صفحات راحتتر به هیچ عنوان معنی نداره

alireza.zahani
چهارشنبه 20 دی 1391, 21:53 عصر
دوست عزیز ، به شما پیشنهاد میکنم در مورد وب سرویس ها و پروتکل Http و چگونگی ارسال داده از طریق این پروتکل مطالعه ای داشته باشید تا کمی موضوع برایتان روشن تر شود ، یه طور مثال اگر با معماری برنامه نویسی چند لایه آشنایی داشته باشید میدانید که ارتباط میان Client و Server عموما" توسط یک وب سرویس صورت میپذیرد ، در وب سرویس نیز شما از پروتکل Http برای انتقال دیتا استفاده میکنید و در نتیجه فرمت XML مورد نیاز میباشد ، به عبارتی این فرمت به شما اجازه میدهد تا مستقل از نوع پلتفرم و زبان با داده ها کار کنید ، کافیست که در سمت کلاینت یک Parser برای خواندن فایل XML مورد نظر وجود داشته باشد که در دات نت اینکار از طریق اعمال Deseialization صورت میپذیرد ،
در حقیقت هنگامیکه شما داده مورد نظر خود را به فرمت غنی XML تبدیل میکنید ، هر نرم افزار/زبان/پلفتفرمی که قابلیت کار با فایل های XM و Parse کردن آنها را داشته باشد میتواند با فایل XML شما کار کند و همانطور که گفتم فایلهای XML مستقل از زبان و پلفترم هستند ، برای مطالعه بیشتر در مورد فواید XML میتوانید به لینک زیر مراجعه نمایید :
http://www.exforsys.com/tutorials/xm...dvantages.html (http://www.exforsys.com/tutorials/xml/xml-advantages.html)

alireza.zahani
چهارشنبه 20 دی 1391, 21:57 عصر
سرعت بالا فقط یک دلیله

Saber_Fatholahi
چهارشنبه 20 دی 1391, 23:32 عصر
دوست عزیز ، به شما پیشنهاد میکنم در مورد وب سرویس ها و پروتکل Http و چگونگی ارسال داده از طریق این پروتکل مطالعه ای داشته باشید تا کمی موضوع برایتان روشن تر شود ، یه طور مثال اگر با معماری برنامه نویسی چند لایه آشنایی داشته باشید میدانید که ارتباط میان Client و Server عموما" توسط یک وب سرویس صورت میپذیرد ، در وب سرویس نیز شما از پروتکل Http برای انتقال دیتا استفاده میکنید و در نتیجه فرمت XML مورد نیاز میباشد ، به عبارتی این فرمت به شما اجازه میدهد تا مستقل از نوع پلتفرم و زبان با داده ها کار کنید ، کافیست که در سمت کلاینت یک Parser برای خواندن فایل XML مورد نظر وجود داشته باشد که در دات نت اینکار از طریق اعمال Deseialization صورت میپذیرد ،
در حقیقت هنگامیکه شما داده مورد نظر خود را به فرمت غنی XML تبدیل میکنید ، هر نرم افزار/زبان/پلفتفرمی که قابلیت کار با فایل های XM و Parse کردن آنها را داشته باشد میتواند با فایل XML شما کار کند و همانطور که گفتم فایلهای XML مستقل از زبان و پلفترم هستند ، برای مطالعه بیشتر در مورد فواید XML میتوانید به لینک زیر مراجعه نمایید :
http://www.exforsys.com/tutorials/xm...dvantages.html (http://www.exforsys.com/tutorials/xml/xml-advantages.html)
سلام علی جان برنامه نویسی multi layer اینگونه نیست، برنامه ای که شما شرح دادین multi Tier هست.

در مورد سوالتم به نظر من روش میکروسافت بهتر باید باشه. یعنی خوندن از یک رشته و پردازش اون سمت سرور بازم ببین نظر دوستان چیه من بدلیل مشغله فکری زیاد الان فکر درستی به ذهنم نمی رسه