sách gpt4 ăn đã đi

PHP Talk "Tái cấu trúc-Cải tiến thiết kế mã hiện có" Phần 3 Sắp xếp lại dữ liệu

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 26 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN này Trò chuyện PHP "Tái cấu trúc - Cải thiện thiết kế mã hiện có" Phần 3 sắp xếp lại dữ liệu được tác giả thu thập và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

Bản đồ tư duy.

giới thiệu.

  。

 Tiếp tục cuộc trò chuyện PHP ở trên "Tái cấu trúc - Cải thiện thiết kế mã hiện có", chúng tôi sẽ sắp xếp lại các chức năng của bạn và tiếp tục tái cấu trúc.

  。

Chương này chủ yếu tập trung vào việc tái thiết dữ liệu.

  。

1. Tiếng nói tranh luận - nên truy cập Trường trực tiếp hay truy cập Trường thông qua một chức năng (Accessor).

PHP Talk

 2. Sửa đổi mảng thành đối tượng: Khi bạn thấy Mảng trông giống như một cấu trúc dữ liệu, bạn có thể sử dụng Thay thế mảng bằng đối tượng để biến Mảng thành một đối tượng. --Cấu trúc dữ liệu rõ ràng hơn.

PHP Talk

  。

  。

 Thuật ngữ chuyên nghiệp.

  。

accessor: khách truy cập, bộ nhớ - được dịch là "chức năng" trong bài viết này.

câm: câm.

lớp miền: được sử dụng để xử lý logic nghiệp vụ.

lớp trình bày: được sử dụng để xử lý "biểu diễn dữ liệu".

logic nghiệp vụ: logic nghiệp vụ.

một chiều: Một chiều.

bidirectional: hai chiều.

bộ sưu tập: cụm.

 Trường tự đóng gói 。

  。

Tình huống: Nếu Khách hàng truy cập trực tiếp vào phạm vi giá trị, mối quan hệ ghép nối giữa Khách hàng và phạm vi giá trị sẽ dần trở nên khó xử. Sau đó, tạo hàm giá trị/cài đặt cho phạm vi giá trị này và chỉ sử dụng các chức năng này để truy cập.

  。

PHP Talk

PHP Talk

PHP Talk

  。

động lực:

PHP Talk

  "Truy cập gián tiếp vào các biến": hỗ trợ các phương thức thu thập dữ liệu linh hoạt hơn, chẳng hạn như Khởi tạo lười biếng (có nghĩa là giá trị chỉ được khởi tạo khi nó được sử dụng.).

  "Truy cập trực tiếp vào các biến": mã dễ đọc hơn mà không cần phải dừng lại và nói: "À, đây chỉ là một hàm nhận giá trị."

       Lựa chọn: 1. Viết tiêu chuẩn và làm theo những gì hầu hết mọi người trong nhóm làm.

     2. Cá nhân tôi thích "truy cập trực tiếp vào các biến" hơn cho đến khi phương pháp này gây rắc rối.

       Ví dụ của Martin (tác giả): Nếu bạn muốn lấy trường trong siêu lớp, nhưng cũng muốn thay đổi trường thành giá trị được tính toán trong lớp con, bạn nên sử dụng Trường tự đóng gói.

                         Ví dụ của riêng tôi: Tôi thường đặt trường này ở chế độ riêng tư. Nếu các biến bên ngoài cần sử dụng trường này, tôi sẽ sử dụng Trường tự đóng gói. Hoặc khi giá trị của trường thay đổi, hãy sử dụng Trường tự đóng gói.

  。

 Thay thế giá trị dữ liệu bằng đối tượng 。

  。

 Tình huống: Nếu bạn cần dữ liệu và hành vi bổ sung cho một trường thuộc loại cơ bản, hãy biến trường này thành một đối tượng.

  。

PHP Talk

  。

PHP Talk

  。

  động lực:

  。

PHP Talk

Trong giai đoạn phát triển ban đầu, chúng tôi có thể sử dụng các kiểu dữ liệu cơ bản để thể hiện các hành vi đơn giản. Ví dụ: bạn có thể sử dụng một chuỗi để biểu thị một số điện thoại, nhưng sau đó có thể xảy ra các hành vi đặc biệt như "định dạng", "xác thực" và "trích xuất mã vùng" của số điện thoại. ---Lúc này chúng ta cần một lớp mới.

 Thay thế Mảng bằng Đối tượng 。

  。

Tình huống: Bạn có một mảng và mỗi phần tử trong mảng biểu thị những thứ khác nhau, sau đó thay thế mảng bằng một đối tượng và đối với mỗi phần tử trong mảng, hãy biểu thị nó bằng một phạm vi giá trị.

  。

PHP Talk

PHP Talk

PHP Talk

 động lực:

PHP Talk

Mảng thường được sử dụng cho một nhóm các đối tượng tương tự nhau. Nếu các phần tử trong mảng khác nhau thì khó có thể hiểu được quy ước phần tử đầu tiên trong mảng là tên người. Các đối tượng là khác nhau và thông tin đó có thể được truyền tải thông qua tên miền và tên chức năng. ---Bằng cách này không cần phải ghi nhớ hay bình luận.

 Đóng gói trường 。

  。

Tình huống: Nếu có trường giá trị công khai trong lớp của bạn, hãy khai báo trường đó là vi phạm bản quyền và cung cấp chức năng truy cập tương ứng.

  。

PHP Talk

PHP Talk

PHP Talk

 động lực:

PHP Talk

Một trong những nguyên tắc của hướng đối tượng là tính đóng gói (Encapsulate) hay “ẩn dữ liệu”. Theo thử nghiệm ban đầu này, bạn không bao giờ nên khai báo dữ liệu là công khai.

  -- dữ liệu công khai được coi là một hành vi xấu.

  --Nếu được đóng gói, việc sửa đổi mã sẽ đơn giản hơn vì tất cả đều tập trung ở một nơi.

 Một hàm không cung cấp các hành vi khác ngoại trừ các hàm truy cập (nhận/cài đặt). Xét cho cùng, nó chỉ là một lớp ngu ngốc. Loại lớp này không thể đạt được những lợi thế của công nghệ đối tượng. --Giải pháp cho các lớp ngu ngốc là Phương thức di chuyển để nhanh chóng di chuyển chúng sang các đối tượng mới.

  。

 Phần kết luận .

  。

Tôi hy vọng có thể chia sẻ những gì tôi hiểu được với mọi người và hoan nghênh những ý kiến ​​quý báu của các bạn.

  。

Cuối cùng, bài viết về việc sắp xếp lại dữ liệu trong Phần 3 của Thảo luận PHP "Tái cấu trúc - Cải thiện thiết kế mã hiện có" kết thúc tại đây. Nếu bạn muốn biết thêm về Thảo luận PHP "Tái cấu trúc - Cải thiện thiết kế mã hiện có" 3. Về nội dung. về việc sắp xếp lại dữ liệu, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress