من فکر می کنم جواب شما رو بلدم . من یاد گرفتم که با معماری سه لایه و شاید چهار لایه و یک کلاس مجزا برا ارتباط با پایگاه داده استفاده کنم . الگویی که استفاده می کنیم Facade هستش و تو اون بر نوع سازنده مون رو با استفاده از متد Single tone می سازیم که در این صورت دیگه نیازی نیست connection و ارتباط با سرور مرتبا بازو بسته شود چون متد single tone یک بار از این کلاس یک ابجکت می سازه و این رو بررسی می کنه اگه کانکشن بسته باشه می ره باز می کنه و اگه هم قبلا یه بار بازش کردیم همون رو حفظ می کنه و به این ترتیب ترافیک شبکه مون کلی میاد پایین .
کد:
public static BaseClass bclass() { if (baseclass == null) { baseclass = new BaseClass(); } return baseclass; }
البته گفتم که داخل baseclass کلیه کارهایی که برا ارتباط با پایگاه داده نیاز هست قرار دادیم

https://barnamenevis.org/showpo...6&postcount=22

بنده از این روش در برنامه به قول شما 3 لایه استفاده کردم یعنی connection رو در constructor کلاس DB قرار دادم اما جناب mehdi6755 با این روش مخالفت کردن و دلایلشون هم(pm) کاملاً درست بود.
مقاله:
https://barnamenevis.org/attach...6&d=1240500476

و:
https://barnamenevis.org/showpo...23&postcount=5