Aplikasi monolitik ialah sejenis perisian di mana semua komponen sistem (cth., antara muka pengguna, logik perniagaan dan pangkalan data) disepadukan ke dalam struktur tunggal yang bersatu. Dalam seni bina ini, semua komponen dijalankan sebagai sebahagian daripada satu aplikasi.
Struktur Bersatu:
Semua komponen (bahagian hadapan, hujung belakang dan pangkalan data) terkandung dalam satu boleh laku atau proses.
Pembangunan dan Penggunaan Mudah:
Pembangun mengurus satu pangkalan kod, menjadikan pembangunan dan penggunaan mudah.
Prestasi Baik untuk Projek Berskala Kecil:
Sesuai untuk projek bersaiz kecil atau sederhana di mana kelajuan dan kesederhanaan menjadi keutamaan.
Kebergantungan Komponen Tinggi:
Malah perubahan kecil memerlukan pembinaan semula dan penggunaan semula keseluruhan aplikasi.
Pembangunan Awal yang Lebih Mudah:
Lebih mudah untuk dimulakan untuk projek kecil kerana tidak perlu melaksanakan perkhidmatan berasingan.
Lebih Mudah Diurus:
Satu pangkalan kod dan satu penggunaan untuk keseluruhan aplikasi.
Sesuai untuk Pasukan Kecil:
Sesuai untuk pasukan yang tidak memerlukan perkhidmatan pemisahan.
Prestasi Tinggi untuk Permintaan Mudah:
Tiada komunikasi antara perkhidmatan bermakna masa tindak balas yang lebih cepat.
Skala Sukar:
Untuk projek besar, penskalaan atau pengubahsuaian bahagian sistem selalunya memerlukan penulisan semula sebahagian besar kod.
Berisiko Tinggi Perubahan:
Perubahan kecil boleh memberi kesan kepada kefungsian keseluruhan sistem.
Pengurusan Kompleks untuk Pasukan Besar:
Menguruskan pangkalan kod yang besar menjadi mencabar untuk pasukan pembangunan besar.
Masa Penggunaan Yang Lama:
Apabila aplikasi berkembang, masa penyusunan dan penggunaan meningkat.
Projek Kecil hingga Sederhana:
Apabila projek kecil dan tidak memerlukan kebolehskalaan yang meluas.
Pasukan Pembangunan Kecil:
Apabila pasukan kecil, dan pembahagian tugas akan mewujudkan kerumitan yang tidak perlu.
Jangka Masa Terhad:
Apabila projek perlu dihantar dengan cepat.
Django direka bentuk secara lalai untuk mencipta aplikasi monolitik, menjadikannya mudah untuk membina aplikasi komprehensif di mana semua bahagian, seperti logik perniagaan, lapisan pembentangan dan pengurusan pangkalan data, disepadukan ke dalam satu struktur.
Mula-mula, buat projek Django baharu, yang menyediakan struktur keseluruhan aplikasi anda.
django-admin startproject myproject cd myproject
Dalam seni bina monolitik, setiap apl bertanggungjawab untuk bahagian tertentu projek, tetapi semua apl berada dalam pangkalan kod kongsi dan saling berkaitan.
python manage.py startapp blog python manage.py startapp shop
Tambahkan apl yang baru dibuat pada fail settings.py.
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'blog', 'shop', ]
Setiap apl mentakrifkan model yang berkaitan dengan fungsinya. Model ini bersambung terus ke pangkalan data.
from django.db import models class Post(models.Model): title = models.CharField(max_length=200) content = models.TextField() created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title
from django.db import models class Product(models.Model): name = models.CharField(max_length=100) price = models.DecimalField(max_digits=10, decimal_places=2) description = models.TextField() def __str__(self): return self.name
Pindahkan model ke pangkalan data:
python manage.py makemigrations python manage.py migrate
Tentukan laluan untuk apl anda dalam fail urls.py projek.
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('blog/', include('blog.urls')), # Blog App URL path('shop/', include('shop.urls')), # Shop App URL ]
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='blog_index'), ]
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='shop_index'), ]
Pandangan mengendalikan permintaan dan menghantar respons.
from django.shortcuts import render from .models import Post def index(request): posts = Post.objects.all() return render(request, 'blog/index.html', {'posts': posts})
from django.shortcuts import render from .models import Product def index(request): products = Product.objects.all() return render(request, 'shop/index.html', {'products': products})
Tentukan templat untuk memaparkan data dalam aplikasi anda.
<h1>Blog Posts</h1> <ul> {% for post in posts %} <li>{{ post.title }}</li> {% endfor %} </ul>
<h1>Shop Products</h1> <ul> {% for product in products %} <li>{{ product.name }} - ${{ product.price }}</li> {% endfor %} </ul>
Jalankan pelayan Django dan uji aplikasi anda:
django-admin startproject myproject cd myproject
Atas ialah kandungan terperinci Aplikasi Segerak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!