PDA

View Full Version : سوال دیگری درباره‌ی فایل‌های include



archangel
پنج شنبه 21 اردیبهشت 1385, 10:10 صبح
من می‌خواهم در صفحات یک سایت از حدود 10 فایل include با پسوند .asp استفاده کنم. این فایل‌ها همگی library من هستند و فقط در آنها function و sub قرار داده‌ام و به هنگام نیاز از آنها استفاده می‌کنم. سوال من این است که آیا include کردن این library ها به صفحات وب، در پردازش صفحه‌ی وب توسط سرویس‌دهنده سربار ایجاد نمی‌کند؟ چون مجموعه‌ی این کتابخانه‌ها شاید بیش از ده هزار خط کُد باشد.

در ابتدای هر صفحه‌ی وب، کتابخانه‌های مورد نیاز در آن صفحه را include می‌کنم.


<!--#include file="l_config.asp"-->
<!--#include file="l_news.asp"-->
<!--#include file="l_users.asp"-->
<!--#include file="l_forum.asp"-->
<!--#include file="l_weblog.asp"-->
<!--#include file="l_admin.asp"-->
<!--#include file="l_articles.asp"-->

...

M-Gheibi
جمعه 22 اردیبهشت 1385, 16:45 عصر
مسلما استفاده از فایلهای زیاد مشکل ساز است ولی استفاده از تعداد بیشتری از فایلهای include (با تعداد خطوط کد کم) بهتر از استفاده از تعداد کمی از فایلها با تعداد خطوط کد بالاست.
دلیلش هم اینه که وقتی شما از چند فایل با حجم کد نویسی بالا در یک صفحه استفاده می کنید، احتمال استفاده نکردن از یکسری از کدهای نوشته شده وجود داره (در صفحه جاری) و به طور کلی همه توابع نوشته شده در همه صفحات استفاده نمی شوند. به همین علت به هنگام لود هر صفحه فشار اضافی (و بی موردی) وارد میشه که در عملکرد و سرعت صفحه باز شده تاثیر گذار هست.
اگر نیازی به استفاده از این همه فایل ندارید خب از همه استفاده نکنید و سعی کنید با تکه تکه کردن فایلها قسمتهای اضافی رو مورد استفاده قرار ندهید.
مثلا فایل مربوط به articles یا news در بخش وبلاگ به نظر اظافیست.

archangel
جمعه 22 اردیبهشت 1385, 23:10 عصر
از جوابتون ممنونم. درسته. نباید کتابخانه‌های غیر لازم رو include کرد. در مورد کوچکتر کردن اندازه‌ی کتابخانه‌ها هم با شما موافقم اما من در مورد نحوه‌ی انجام این کار ایده‌ای ندارم. اجازه بدین کمی توضیح بدم. ببینین. اصولاً من برای هر کدوم از table های بانک اطلاعاتی‌ام یک کتابخانه درست کردم. هر کتابخانه نیز توابع لازم برای انجام عملیات اضافه، حذف، به روز رسانی، واکشی و جستجو در اون table رو در بر داره. مثلاً همون جدول news رو در نظر بگیرید. کتابخانه‌ی l_news.asp شامل توابعی نظیر زیره:



Function l_nw_addNews(objNews)
Function l_nw_DeleteNews(intNewsID)
Function l_nw_UpdateNews(objNews)
Function l_nw_GetNews(intNewsID,objNews)


تقریباً تمام کتابخانه‌ها چنین توابعی رو دارن. اما من ایده‌ای در این مورد ندارم که چطور می‌تونم این کتابخانه‌ها رو همون طور که شما گفتید خوردتر کنم و کتابخانه‌های کوچکتری درست کنم.

علاوه بر این در بعضی مواقع واقعاً باید چندین کتابخانه رو include کنم. مثلاً صفحه‌ی سفارش کالا رو در نظر بگیرید. کتابخانه‌هایی که دارم چیزی شبیه اینها است:


کتابخانه‌ی توابع پایه‌ای شامل توابع ریاضی، تاریخ، رشته‌ای و... که برای نیاز خودم نوشته‌ام l_main
مجموعه‌ی ثابت‌های تعریف شده در کل کتابخانه‌ها l_constants
مجموعه‌ی کل کلاس‌های تعریف شده در کتابخانه‌ها l_classes
کتابخانه‌ی کار با تنظیمات پیکربندی سایت نظیر میزان تخفیفی که به افراد در خرید تعلق l_configمی‌گیره و بسیاری تنظیمات دیگه
مدیریت کاربران، تشخیص این که بیننده‌ی فعلی یکی از اعضای سایت است و ... l_users
برای مدیریت کالا، حذف، اضافه، به روز رسانی، واکشی و جستجوی کالا l_goods
مدیریت سبد خرید، اضافه کردن کالا به سبد خرید کاربر، حذف کالا از سبد خرید کاربر و ... l_basket
کتابخانه‌ی ثبت خرید کاربر در پایگاه داده l_order
کتابخانه ارسال پیام پست الکترونیک l_mail



و تمام این کتابخانه‌ها رو هم در صفحه‌ی نمایش کالاها لازم دارم! نظر شما در مورد این نحوه‌ی برنامه‌نویسی برای یک سایت چیه؟
با تشکر از این زحمت و وقتی که برای این سوال طولانی می‌گذارید (چون می‌دونم خوندن کُدهای دیگران چه کار وحشتناک و سختیه! حتی کُدی که خود آدم نوشته باشه و بعداً بخواد بره سراغش باید یه ساعت فکر کنه ببینه چیکار کرده بوده، تا چه برسه به این که بخوای کُد دیگران رو بررسی کن. بازم ممنون)