CRUD chỉ đơn giản là Tạo, Đọc, Cập nhật, Xóa mà ứng dụng thực hiện.
Ở một mức độ nào đó, trình theo dõi lỗi cũng là một ứng dụng CRUD. Tạo lỗi, Đọc (hiển thị) lỗi, Cập nhật lỗi và có thể xóa chúng.
Tuy nhiên, có nhiều thứ để theo dõi lỗi hơn là chỉ CRUD.
- Nhà phát triển không được phép đánh dấu lỗi đã được xác minh hoặc đóng - đó là một phần công việc của QA. Và vì vậy, một số mã có trong đó để đảm bảo rằng ai đó thiếu vai trò của QA không thể đánh dấu một lỗi là đã đóng hoặc xác minh.
- Không ai ngoài một người quản lý dự án thực sự có thể xóa một lỗi.
- Để một lỗi được đánh dấu là "kiểm tra tôi", phải có ít nhất một cam kết mã chống lại lỗi đó.
- Chỉ một lỗi ở trạng thái 'đóng' mới có thể được chuyển sang trạng thái 'mở lại'
- Nhà phát triển được gán cho lỗi không thể chuyển nó từ 'đánh giá mã' sang 'hoàn tất đánh giá mã'
- QA và Nhà phát triển chỉ có thể thấy các lỗi trên các dự án mà họ được giao.
Mã thực hiện ở trên là logic kinh doanh của ứng dụng.
Hạn chế của quy trình công việc hoặc ai có thể thực hiện các hoạt động khác nhau trong CRUD. Đây là những gì tách một ứng dụng CRUD với một ứng dụng khác. Chúng là những phần mà bạn cần để doanh nghiệp thực sự nói cách ứng dụng hoạt động. Làm thế nào hợp lý là ... tốt, đó là thảo luận tốt nhất về một ly bia ra khỏi tai nghe của người quản lý dự án. Nhưng đó là những gì kinh doanh logic.
Chắc chắn, có thể viết ứng dụng CRUD 'thuần túy' trong đó không có vai trò, mọi thứ đều có thể được sửa đổi và xem - nhưng đây là những ngoại lệ thay vì quy tắc.
Việc kinh doanh Logic là logic mà bạn đang viết vào chương trình của bạn để xử lý các quy tắc kinh doanh mà bạn đang đưa ra.
Khi bạn bắt đầu tham gia vào các quy tắc kinh doanh, điều này có xu hướng ở mức cao hơn so với chính bản thân hoặc logic kinh doanh. Điều này có xu hướng là những điều bạn nhận được từ một nhà phân tích kinh doanh đang làm việc với doanh nghiệp.
Xem xét trong ví dụ này, một chương trình xác định cách xử lý trả lại một mặt hàng tại bàn trả lại trong cửa hàng.
- Nếu biên nhận bằng hoặc hơn 90 ngày tuổi, chỉ có thể cung cấp tín dụng trong cửa hàng
- Nếu hóa đơn chưa đến 90 ngày, hãy ghi có gói thầu mà hóa đơn đã được sử dụng để mua (tín dụng quay lại thẻ tín dụng, tiền mặt trở lại thành tiền mặt, tín dụng trong cửa hàng chuyển sang tín dụng trong cửa hàng) ... trừ khi là một tấm séc, trong trường hợp đó sử dụng tiền mặt.
Đó là một số quy tắc kinh doanh. Họ không nói chuyện với phần CRUD của ứng dụng.
Khi làm việc với các quy tắc kinh doanh, bạn thường có thể tìm thấy các quy tắc này được viết trong một công cụ quy tắc (ví dụ: Windows Workflow Foundation Rules Engine ) thay vì viết mã thô trong hệ thống của bạn.
Nhận ra rằng sự phân biệt logic / quy tắc là một trong những thuật ngữ và có thể được tranh luận suốt đêm dài (tốt nhất là một lần nữa bia). Mặc dù đây không phải là một sự khác biệt hiếm gặp, mặc dù cả hai có thể hòa hợp với nhau.