ਜਿਵੇਂ ਹੀ Laravel ਐਪਲੀਕੇਸ਼ਨ ਵਧਦੀ ਹੈ, ਡਿਫਾਲਟ "fat controller / fat model" ਪਹੁੰਚ ਨੂੰ ਬਣਾਈ ਰੱਖਣਾ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ। ਵੱਡੀਆਂ ਐਪਸ ਕੋਲ ਵਾਧੂ ਆਰਕੀਟੈਕਚਰਲ ਲੇਅਰਾਂ — service classes, action classes, repositories, form requests, ਅਤੇ ਸਪੱਸ਼ਟ domain organization — ਦੇ ਲਾਭ ਹਨ ਤਾਂ ਕਿ business logic ਨੂੰ ਸੰਗਠਿਤ, testable, ਅਤੇ ਬਣਾਈ ਰੱਖਣ ਯੋਗ ਰੱਖਿਆ ਜਾ ਸਕੇ।
ਸਮੱਸਿਆ: logic ਗਲਤ ਥਾਵਾਂ ਤੇ ਪਤਾ ਚਲਦਾ ਹੈ
Small apps: logic in controllers and models is fine.
Large apps: controllers get bloated, models become "god objects", logic is duplicated
→ hard to test, maintain, and reason about. Extract logic into dedicated layers.
Service classes — business logic ਨੂੰ ਏਨਕੈਪਸੁਲੇਟ ਕਰੋ
{
{}
{
DB::(function () ($, $) { /* ... */ });
}
}
{
->(->(), ->());
}
