Xhotel
مقدمة
جولة التقييم الأولى في Topview Studio: نظام إدارة الفنادق (Huang Yuchao)
Xhotel هو نظام لإدارة الفنادق يوفر تقنيات الواجهة الخلفية مثل غرف المشاهدة ، وغرف الحجز ، وإدارة المعلومات الشخصية ، وإدارة معلومات الغرفة والفندق (المسؤولون) وغيرها من الوظائف: Java ، و Tomcat ، و MySQL ، و Servlet
بداية سريعة
انقر هنا لتجربة ذلك الآن
معلومة
المطور: Huang Yuchao الاتصال بالبريد الإلكتروني: [email protected]
وقت تطوير المشروع: 2019-04-04 إلى 2019-04-25
رقم الإصدار: 1.0.0
ترخيص مفتوح المصدر: Apache License 2.0
بيئة الجري:
- Tomcat 9.0.17
- MySQL 5.7.29
- JDK 1.8
سمات
1. صفحة تسجيل الدخول

2. الصفحة الرئيسية
3. غرفة استعلام غامضة

4. لوحة الرسائل

تنفيذ الوظائف
1. وحدة المستخدم
- وظيفة التسجيل
- وظيفة تسجيل الدخول
- تذكر حالة تسجيل الدخول وتسجيل الدخول تلقائيًا في المرة القادمة
- تسجيل الخروج
- يعرض المستخدمون المعلومات الشخصية وتعديل معلوماتهم الشخصية
- يقوم المستخدمون بتحميل الصورة الرمزية الخاصة بهم وتعديل الصورة الرمزية الخاصة بهم
- يقوم المستخدمون بتعديل كلمة مرور تسجيل الدخول الخاصة بهم
- يقوم المستخدمون بتعديل كلمة مرور الدفع الخاصة بهم
- ابحث عن الغرف ، وعرض معلومات الغرفة ، وغرفة الكتاب
- يمكنك اختيار وقت تسجيل الوصول ووقت المغادرة بالترتيب
- يمكنك ملء المعلومات بالترتيب
- يشاهد المستخدمون طلباتهم الخاصة وإلغاء طلباتهم الخاصة
- يمكنك ترك رسالة على لوحة الرسائل لعرض تعليقات الآخرين
2. وحدة المسؤول
- يمكن للمسؤولين إضافة مستخدمين جدد
- يمكن للمسؤولين إضافة غرف جديدة
- يمكن للمسؤول تعديل معلومات الغرفة وحذف الغرفة
3. مسؤول سوبر
- إضافة وحذف وتحقق وتعديل الفندق (بدون عرض واجهة ، مكتمل فقط على مستوى DAO)
ميزات الكود
حماية
- استخدم فحوصات الإدخال العادية ولا تسمح لبيانات غير قانونية بدخول قاعدة البيانات
- التحضير يمنع حقن SQL
- حقن تسمية المرشح
- تشفير كلمة مرور المستخدم باستخدام MD5
- استخدم Uuid لضمان التفرد العالمي
- فحص مؤشر فارغ
كود إعادة استخدام
- كل DAO هي فئة فرعية من مقرها. تعد الفئة الفرعية مسؤولة فقط عن معالجة البيانات التي تم تمريرها في طبقة الخدمة المقابلة وكتابة بعض عبارات SQL. جميع عمليات قاعدة البيانات في طريقتين من مقرها.
- تستخدم طبقة PO نظام الميراث. جميع الكيانات ترث (بشكل مباشر أو غير مباشر) ، وتخزين المعرف ، والحالة ، و gmt_create ، والمعلومات المعدلة في جدول قاعدة البيانات ، وكل من الغرف والخدمات يرثون فئة المنتج ، وكلا الغرف وأوامر الخدمة يرثون الطلب.
- يتم وضع تشفير MD5 ، والحصول على UUID ، والوظائف الأخرى في فئة الأدوات لإعادة استخدامها
- كرر استخراج الكود وإعادة الإعمار ، وتحسين الرمز باستخدام طرق القالب وأنماط السياسة ، إلخ.
الصيانة
- تعليقات الرمز: يوفر معظم الكود تعليقات الفصل ، وتعليقات الطريقة ، وتعليقات السمة
- وثائق الواجهة: استخدم تعليقات Javadoc لتوفير وثائق API
- البرمجة الموجهة نحو الواجهة: توفر كل من طبقة DAO وطبقة الخدمة واجهات تصاعدية ، منفصلة عن فئة التنفيذ
- التغليف: PO ، VO Layer فقط أساليب getter و setter
- المتانة: معظم الفصول لديها فئات اختبار مقابلة وخضعت لعمليات متعددة من الاختبار
- التقييس: قم بتوحيد مواصفات معلمة الطلب الأمامي ، واستخدم فئات التعداد لإدارة معلمات الطلب
- استخدام ملفات التكوين وتكوين قاعدة البيانات وتكوين تجمع الاتصال وتكوين المصنع كلها مفصولة عن الرمز
- نمط تصميم MVC: لا يوجد إخراج صفحة في Servlet ، ولا يوجد رمز Java في JSP ، ويتم وضع جميع معالجة البيانات في طبقة الخدمة
- لا يوجد "قيمة سحرية" تقريبًا: تستخدم معظم الثوابت فئات التعداد ، وعدد قليل جدًا من استخدام المتغيرات النهائية ، والباقي هي ثوابت في معلمات الطلب الجزئي في الواجهة الأمامية
- تجنب تلوث التعليمات البرمجية: تغليف checkexception في RunTimeException ورميه على الطبقة العليا لتجنب الاقتران بين الطبقات
- المسؤوليات الفردية: كل خدمة لها فئة تنفيذ DAO طبقة DAO المقابلة ، ويمكن لكل خدمة و DAO إكمال وظائفها بشكل منفصل.
تغليف إدخال البيانات والخروج:
- البيانات الأمامية: يتم تعيين جميع معلمات الطلب في كائنات فئة الكيان من خلال الفاصوليا ، وفي هذه العملية ، يتم تصفية حقن التسمية بشكل موحد.
- البيانات المستمرة: يتم تغليف جميع عمليات تحديث قاعدة البيانات وعمليات استعلام قاعدة البيانات في أساليب ExecuteupDate و ExecuteQuate. يمكن أن تتصل هاتين الطريقتين فقط بمجمع اتصال قاعدة البيانات ، ويمكن الحصول على الموارد وإطلاقها بشكل موحد.
- بيانات إعداد نتائج الاستعلام: يقوم المستندة إلى جميع عمليات تحديث قاعدة البيانات ومعظم عمليات الاستعلام. يتم تنفيذ بعض الاستعلامات فقط من خلال فئات فرعية وبيانات SQL. يتم تغليف جميع معالجة مجموعة النتائج بواسطة ravenaoimpl
- نتائج الحالة والمعالجة: يتم إرجاع جميع الرموز القرص الدوار والبيانات المعالجة التي يتم إرجاعها بواسطة طبقة الخدمة في النتيجة
- بيانات الصفحة: يتم إرجاع جميع البيانات التي يتم إرجاعها إلى الواجهة الأمامية في Pagevo
أداء
- تجمع اتصال قاعدة البيانات المكتوبة بخط اليد لتحسين أداء الوصول إلى قاعدة البيانات
نمط التصميم
- نموذج المصنع
- وضع Singleton
- وضع السياسة
- الوضع الزخرفي
- طريقة القالب
- وضع MVC
سجل تطوير المشروع:
تم تحديثه في 20 أبريل: إنشاء صفحات JSP الأساسية
تم تحديثه في 17 أبريل: غرف البناء والأوامر والخدمات الأخرى
تم تحديث
تم تحديثه في 12 أبريل: يتم تنفيذ أوامر بناء
تم التحديث 11 أبريل: بناء userdao
تم تحديثه في 10 أبريل: بناء الطبقة الأساسية
تم تحديثه في 9 أبريل: البناء الأولي لطبقة داو
تم تحديثه في 8 أبريل: قم بإنشاء مجموعة اتصال قاعدة بيانات
تم تحديثه في 7 أبريل: بناء مشروع
تم تحديثه في 3 أبريل: إرسال تحليل متطلبات المشروع (تسمية المشروع: Xhotel)
تم تحديثه في 1 أبريل: حاليًا في مرحلة تحليل الطلب ، وضع نماذج البيانات والتصميم الأولي للعمليات التجارية
تم تحديثه في 30 مارس: تم الانتهاء من مشروع Cat Studio للتو ، ولديه QG Bootcamp مهمة ، لذلك لم أبدأ بعد
كن مستعدًا لتلخيص تجربة مشروع CAT أولاً ، وفهم بعض المشكلات التي تواجهها قبل كتابة المشروع.
رخصة
هذا البرنامج مخصص للاتصال والتعلم فقط وقد لا يتم استخدامه لأغراض تجارية
حقوق الطبع والنشر هوانغ يوشاو
مرخصة بموجب ترخيص Apache ، الإصدار 2.0 ("الترخيص") ؛ لا يجوز لك استخدام هذا الملف إلا في الامتثال للترخيص. يمكنك الحصول على نسخة من الترخيص على
http://www.apache.org/licenses/LICENSE-2.0
ما لم يكن مطلوبًا بموجب القانون المعمول به أو الموافقة على الكتابة ، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي" ، دون ضمانات أو شروط من أي نوع ، إما صريحة أو ضمنية. راجع ترخيص الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.