Một mô hình thiếu máu chỉ đơn giản là một thùng chứa dữ liệu. Nó không chứa hành vi. (Điều này thực sự có thể được coi là một điều tốt trong mô hình chức năng.) Ngược lại với một mô hình thiếu máu không phải là một mô hình được tiêm đầy đủ các dịch vụ miền. Bạn đang mô tả hai thái cực - cả hai đều xấu.
Nếu bạn có một mô hình thiếu máu, bạn không hoàn toàn chấp nhận những gì OOP cung cấp. Nếu bạn bắt đầu tiêm dịch vụ vào các mô hình đó, có khả năng bạn đang tiêm những lo ngại không thuộc về nơi đó. Hoặc là hoặc mô hình của bạn thiếu máu hơn bạn nghĩ. Tại sao bạn lại cần dịch vụ khác ngoài việc cung cấp thứ gì đó bắt buộc nhưng thiếu? (Thiếu có thể có nghĩa là thiếu máu.)
Tránh cả hai "kể" dẫn đến thiết kế mạnh mẽ hơn. Bạn có một cái gì đó trong một dịch vụ mà một người mẫu cần? Có lẽ nó nên được chuyển đến mô hình. Nếu không, có lẽ bạn nên xem xét lại mối quan tâm của bạn. Hành vi của một mô hình nên hoạt động bên trong mô hình. Nó nên chủ yếu (nếu không chỉ) quan tâm đến chính nó với các thành viên. Nhưng hãy nhớ rằng, sẽ vẫn có những điều mà công việc trên hoặc với mô hình. Ví dụ: các mô hình không nên mở kết nối TCP hoặc lắng nghe các sự kiện UI, ngay cả khi chúng có liên quan. Đó là trách nhiệm của người khác và rằng ai đó không bao giờ thuộc về bên trong mô hình.