mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-27 23:06:54 +05:00
feat: add anemic model detection and refactor hardcoded values (v0.9.0)
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* BAD EXAMPLE: Anemic Domain Model
|
||||
*
|
||||
* This Order class only has getters and setters without any business logic.
|
||||
* All business logic is likely scattered in services (procedural approach).
|
||||
*
|
||||
* This violates Domain-Driven Design principles.
|
||||
*/
|
||||
|
||||
class Order {
|
||||
private status: string
|
||||
private total: number
|
||||
private items: any[]
|
||||
|
||||
getStatus(): string {
|
||||
return this.status
|
||||
}
|
||||
|
||||
setStatus(status: string): void {
|
||||
this.status = status
|
||||
}
|
||||
|
||||
getTotal(): number {
|
||||
return this.total
|
||||
}
|
||||
|
||||
setTotal(total: number): void {
|
||||
this.total = total
|
||||
}
|
||||
|
||||
getItems(): any[] {
|
||||
return this.items
|
||||
}
|
||||
|
||||
setItems(items: any[]): void {
|
||||
this.items = items
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* BAD EXAMPLE: Anemic Domain Model with Public Setters
|
||||
*
|
||||
* This User class has public setters which is an anti-pattern in DDD.
|
||||
* Public setters allow uncontrolled state changes without validation or business rules.
|
||||
*
|
||||
* This violates Domain-Driven Design principles and encapsulation.
|
||||
*/
|
||||
|
||||
class User {
|
||||
private email: string
|
||||
private password: string
|
||||
private status: string
|
||||
|
||||
public setEmail(email: string): void {
|
||||
this.email = email
|
||||
}
|
||||
|
||||
public getEmail(): string {
|
||||
return this.email
|
||||
}
|
||||
|
||||
public setPassword(password: string): void {
|
||||
this.password = password
|
||||
}
|
||||
|
||||
public setStatus(status: string): void {
|
||||
this.status = status
|
||||
}
|
||||
|
||||
public getStatus(): string {
|
||||
return this.status
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user