Architecture Decision Record

Active theme: Light

← ឧទាហរណ៍កំណត់ត្រាការសម្រេចចិត្ត

កំណត់ត្រាការសម្រេចចិត្តខាងស្ថាបត្យកម្មសម្រាប់ក្របខ័ណ្ឌ Django របស់ Python

កាលបរិច្ឆេទសម្រេចចិត្ត៖ 2021-07-15

ស្ថានភាព៖ បានទទួលយក

បរិបទ

អង្គការរបស់យើងកំពុងគ្រោងអភិវឌ្ឍកម្មវិធីគេហទំព័រដែលគ្រប់គ្រងទិន្នន័យអតិថិជន។ យើងបានជ្រើសរើស Python ជាភាសាសរសេរកម្មវិធី ហើយកំពុងពិចារណា Django ជាក្របខ័ណ្ឌគេហទំព័រសម្រាប់ការអភិវឌ្ឍកម្មវិធី។

ការសម្រេចចិត្ត

យើងបានសម្រេចប្រើក្របខ័ណ្ឌគេហទំព័រ Django សម្រាប់ការអភិវឌ្ឍកម្មវិធីគេហទំព័រ។ Django ផ្តល់សំណុំឧបករណ៍ និងមុខងាររឹងមាំសម្រាប់កសាងកម្មវិធីគេហទំព័របានលឿន និងមានប្រសិទ្ធភាព។

កត្តា

កត្តាមួយចំនួនដែលមានឥទ្ធិពលលើការសម្រេចចិត្តរបស់យើងរួមមាន៖

  1. ការគូសផែនទីវត្ថុ-ទំនាក់ទំនង (ORM)៖ Django មាន ORM ភ្ជាប់មកស្រាប់ ដែលអនុញ្ញាតឱ្យយើងធ្វើអន្តរកម្មជាមួយមូលដ្ឋានទិន្នន័យ ដោយមិនចាំបាច់សរសេរសំណួរ SQL។ នេះធ្វើឱ្យងាយស្រួលអភិវឌ្ឍកម្មវិធី និងថែទាំវាក្នុងរយៈពេលវែង។

  2. ក្របខ័ណ្ឌ MVC៖ Django អនុវត្តតាមស្ថាបត្យកម្ម Model-View-Controller (MVC) ដែលធ្វើឱ្យងាយស្រួលបំបែកស្រទាប់តក្កវិជ្ជាអាជីវកម្ម និងស្រទាប់បង្ហាញនៃកម្មវិធី។

  3. ភាពអាចពង្រីកបាន៖ Django ល្បីឈ្មោះអំពីសមត្ថភាពពង្រីករបស់វា ដែលធ្វើឱ្យវាជាជម្រើសឆ្នើមសម្រាប់អភិវឌ្ឍកម្មវិធីទំហំធំ។

  4. សុវត្ថិភាព៖ Django មានមុខងារសុវត្ថិភាពភ្ជាប់មកស្រាប់ ដូចជាការការពារប្រឆាំងនឹងការវាយប្រហារគេហទំព័រទូទៅដូចជា cross-site scripting (XSS) និង SQL injection។

  5. ការគាំទ្រពីសហគមន៍៖ Django មានសហគមន៍ធំ និងសកម្មដែលផ្តល់ការគាំទ្រ និងរួមចំណែកដល់ការអភិវឌ្ឍក្របខ័ណ្ឌ។

ជម្រើសជំនួសដែលបានពិចារណា

យើងបានពិចារណាក្របខ័ណ្ឌគេហទំព័រផ្សេងទៀតដូចជា Flask និង Pyramid។ ទោះយ៉ាងណា យើងបានរកឃើញថា Django គឺជាក្របខ័ណ្ឌដែលចាស់ទុំជាង និងមានមូលដ្ឋានរឹងមាំជាង ជាមួយសំណុំមុខងាររឹងមាំ។

យើងក៏បានពិភាក្សាអំពីការអភិវឌ្ឍកម្មវិធីដោយគ្មានក្របខ័ណ្ឌគេហទំព័រ ហើយប្រើបណ្ណាល័យដូចជា SQLAlchemy និង Flask-RESTful។ ទោះយ៉ាងណា យើងបានរកឃើញថា Django ផ្តល់មុខងារទូលំទូលាយជាង ដែលធ្វើឱ្យវាជាជម្រើសល្អជាងសម្រាប់កម្មវិធីគេហទំព័រពេញលេញ។

ផលវិបាក

ការទទួលយក Django នឹងនាំឱ្យមានផលវិបាកដូចតទៅ៖

  1. ងាយស្រួលអភិវឌ្ឍ និងថែទាំកម្មវិធីជាងមុន ដោយសារឧបករណ៍ និងមុខងារភ្ជាប់មកស្រាប់របស់ Django។

  2. ការបំបែកតក្កវិជ្ជាអាជីវកម្ម និងស្រទាប់បង្ហាញ ដែលនាំឱ្យកូដមានការរៀបចំកាន់តែល្អ និងងាយថែទាំជាងមុន។

  3. ភាពអាចពង្រីកបាន និងភាពរឹងមាំរបស់កម្មវិធី។

  4. មុខងារសុវត្ថិភាពភ្ជាប់មកស្រាប់ដែលជួយការពារកម្មវិធីពីការវាយប្រហារគេហទំព័រទូទៅ។

  5. ការចូលប្រើសហគមន៍ធំ និងសកម្មសម្រាប់ការគាំទ្រ។

យើងយល់ថា Django មានខ្សែកោងរៀនចោតជាងក្របខ័ណ្ឌផ្សេងទៀត ប៉ុន្តែយើងយល់ថាវាសមនឹងការវិនិយោគសម្រាប់អត្ថប្រយោជន៍រយៈពេលវែងដែលវាផ្តល់។

សេចក្តីសន្និដ្ឋាន

ដោយផ្អែកលើកត្តាដែលបានពិចារណា យើងបានសម្រេចប្រើក្របខ័ណ្ឌគេហទំព័រ Django សម្រាប់ការអភិវឌ្ឍកម្មវិធីគេហទំព័រ។ យើងជឿថាមុខងារ ការគាំទ្រពីសហគមន៍ និងសមត្ថភាពពង្រីករបស់ Django ធ្វើឱ្យវាជាជម្រើសល្អបំផុតសម្រាប់កសាងកម្មវិធីគេហទំព័រពេញលេញ។ យើងនឹងបណ្តុះបណ្តាលអ្នកអភិវឌ្ឍន៍របស់យើងឱ្យប្រើ Django ដើម្បីធានាថាក្របខ័ណ្ឌត្រូវបានប្រើប្រាស់ប្រកបដោយប្រសិទ្ធភាព និងផលិតភាព។