Video: Cách dùng iPhone để không bị chai pin! 2025
Nếu bạn sử dụng quy trình chuẩn và các quy tắc của Thiết kế hướng đối tượng (OO) cho việc tạo ứng dụng iOS, thiết kế của bạn phải mạnh mẽ; tuy nhiên, ngay cả với một quá trình âm thanh và các hướng dẫn phù hợp bạn có thể tạo ra một mẫu chống. Các mẫu chống lại xảy ra khi một lớp kế thừa chức năng thông qua một kết nối không thích hợp.
Ngay cả khi bạn là một nhà phát triển có kinh nghiệm, bạn có thể nhận được những điều sai trái xấu dẫn đến thiết kế không có chức năng. Những điều sau đây bao gồm những cách cụ thể bạn có thể làm sai.
Chống mẫu bao gồm một loạt các sai lầm từ thiết kế tổ chức và quản lý dự án đến lập trình. Dưới đây là một số mẫu chống lại liên quan đến thiết kế OO:
-
Cái gọi là Base Bean anti-pattern: Đây là nơi mà một lớp thừa kế từ lớp khác bởi vì lớp cha có các chức năng cần thiết trong lớp con.
Giả sử bạn đang thực hiện một lớp từ điển, nơi bạn có thể tra cứu ý nghĩa của từ. Một bảng băm, nơi mà các từ được băm để xác định ý nghĩa của chúng là một cấu trúc dữ liệu hợp lý để sử dụng trong một từ điển.
Tuy nhiên, làm cho từ điển của bạn được thừa hưởng từ một bảng băm không phải là thiết kế tốt. Từ điển của bạn kết thúc bằng các phương pháp trong giao diện của nó mà không có kết nối với các từ và ý nghĩa của chúng. Ngược lại, lớp học của bạn có các phương pháp có mọi thứ liên quan đến từ điển, nhưng không có gì liên quan đến các bảng băm.
Bean cơ bản thường xảy ra khi một nhà phát triển phần mềm nhầm lẫn một mối quan hệ IS-A, phù hợp để đại diện cho một phân lớp thực sự thông qua kế thừa, với một mối quan hệ HAS-A, được phục vụ tốt hơn bởi một mối quan hệ ngăn chặn. Nói cách khác, một Dictionary có thể có một bảng Hash nhưng không phải là một bảng Hash.
Một số nhóm, đặc biệt là cộng đồng Enterprise Java, nghĩ đến các lớp mô hình miền như đơn giản gồm có các trình getters và setters cho các thuộc tính trong lớp, không có hành vi miền trong lớp (ví dụ, xác nhận, tính toán, các quy tắc kinh doanh, và tương tự). Kiểu thiết kế này trái với suy nghĩ OO. -
