cuốn sách gpt4 ai đã làm

Bài học đầu tiên để trở thành triệu kiến trúc sư: Design Patterns: Design Patterns in Spring

In lại Tác giả: Sahara Thời gian cập nhật: 2025-01-01 00:38:57 57 4
mua khóa gpt4 Nike

Địa chỉ ban đầu của bài viết này.

Phân tích mã nguồn Spring5

1. Các mẫu thiết kế thường được sử dụng trong mùa Xuân

1. 23 mẫu thiết kế cổ điển chúng ta thường nói đến:

Phân loại thiết kế mẫu
Sáng tạo Phương thức nhà máy, Mẫu nhà máy trừu tượng, Mẫu xây dựng, Mẫu nguyên mẫu, Mẫu đơn
kiểu kết cấu Chế độ bộ điều hợp, Chế độ cầu nối, Chế độ composite, Chế độ trang trí, Chế độ mặt tiền, Chế độ Flyweight, Chế độ proxy
hành vi Mẫu trình thông dịch, mẫu Phương thức mẫu, mẫu Chuỗi trách nhiệm, mẫu lệnh, mẫu Iterator, mẫu hòa giải, mẫu Memento, mẫu quan sát viên (Người quan sát), mẫu trạng thái (Trạng thái), mẫu chiến lược (Chiến lược), mẫu khách truy cập (Vistor)

Nói chung, các mẫu thiết kế được trộn lẫn và không được áp dụng độc lập. Sử dụng phương pháp đầy đủ để hiểu đầy đủ các kịch bản ứng dụng của các mẫu thiết kế. Trong các ứng dụng hàng ngày, chúng tôi không sử dụng các mẫu thiết kế để sao chép chúng một cách máy móc mà học hỏi từ chúng khi cần dựa trên các vấn đề kinh doanh cụ thể.

2. Sáu nguyên tắc chính cần tuân thủ khi áp dụng các mẫu thiết kế

1. Nguyên tắc đóng mở

Nguyên lý đóng mở có nghĩa là nó mở để mở rộng và đóng để sửa đổi. gốc không thể sửa đổi để đạt được hiệu ứng có thể thay đổi nhanh chóng. Vì vậy, tóm tắt trong một câu là: để chương trình có thể mở rộng và bảo trì, nâng cấp dễ dàng. sử dụng các giao diện và các đối tượng lớp, những thứ mà chúng ta sẽ đề cập trong công cụ thiết kế sau.

2. Nguyên tắc thay thế Liskov

Liskov Liskov nói rằng bất cứ nơi nào có cơ sở xuất hiện thì một lớp LSP phải xuất hiện là nền tảng của công việc tái sinh. use more. vi mới trên cơ sở dữ liệu lớp cơ sở. hóa nguyên tắc "đóng mở" là một vật thể. thể của vật vật hóa, vì vậy nguyên tắc thay thế Liskov là một đặc tả cho các bước cụ thể để đạt được được vật thể hóa.

3. Nguyên tắc đảo ngược phụ thuộc

Đây là cơ sở của quy tắc mở và đóng. cụ thể.

4. Giao diện phân chia nguyên tắc

Nó cũng có nghĩa là giảm sự kết hợp giữa các lớp. Vì vậy nó xuất hiện nhiều lần ở trên: giảm sự phụ thuộc và giảm sự kết hợp tổng hợp.

5. Nguyên lý Demeter (Nguyên tắc ít được biết đến nhất)

Tại sao nó được gọi là nguyên tắc ít được biết đến nhất? có thể khác càng ít càng tốt, làm cho các mô-đun chức năng của hệ thống trở nên tương đối độc lập.

6. Nguyên tắc tái sử dụng tổng hợp

Nguyên tắc là sử dụng thành phần/tổng ​​hợp càng nhiều càng tốt thay vì kế thừa.

hình ảnh/23 mẫu thiết kế.jpg

23 mẫu thiết kế.jpg

Giới thiệu các mẫu thiết kế thường dùng trong mùa xuân

1.1. Mẫu nhà máy đơn giản (Facotry)

ứng dụng bản:

Bản mẫu của mẫu nhà máy đơn giản là lớp nhà máy tự động xác định lớp sản phẩm nào sẽ được tạo dựa trên các tham số được truyền vào.

BeanFactory trong Spring là hiện thân của mẫu nhà máy đơn giản. không được tạo sau khi các tham số được truyền vào hay trước khi các tham số được truyền vào còn thuộc tính tùy chọn cụ thể tình huống.

Phân loại Special đầy đủ
sáng tạo mô hình Đó là mô hình tinh thần của mô hình nhà máy phức hợp Sản xuất hàng loạt, tiêu chuẩn hóa

1.2. Nhà máy Mẫu phương thức (Phương pháp Facotry)

ứng dụng bản:

Thông thường, ứng dụng trực tiếp sử dụng new để tạo một đối tượng mới. Để phân tách việc tạo và sử dụng ứng dụng này, chế độ kỹ thuật được áp dụng, nghĩa là trách nhiệm tạo và khởi tạo ứng dụng được chuyển giao cho máy chủ object.

Trong trường hợp bình thường, ứng dụng có đối tượng Factory riêng để tạo Bean. được bàn giao cho quản lý Spring thì Spring Management sẽ không phải là Bean thông thường mà là Bean Factory.

Phân loại Special đầy đủ
sáng tạo mô hình Đối với người gọi, quy trình xử lý logic phức tạp bị ẩn và người gọi chỉ quan tâm đến kết quả thực hiện hiện tại
Nhà máy phải cam chịu về kết quả và đảm bảo nhà sản xuất ra sản phẩm đạt yêu cầu kỹ thuật.
Sản phẩm sản xuất dây leo lắp ráp

1.3. Mô hình lợi đơn (Singleton)

ứng dụng bản đồ

Đảm bảo chỉ có một phiên bản của một lớp và cung cấp điểm truy cập toàn cầu cho lớp đó.

Chế độ singleton spring hoàn thành nửa sau câu, nghĩa là nó cung cấp điểm truy cập toàn cầu BeanFacotry. lẻ từ hàm tạo cấp độ nào, vì Spring quản lý các tùy chọn Java đối tượng. đơn giản.

Phân loại Special đầy đủ
sáng tạo mô hình Đảm bảo rằng chỉ có một phiên bản sẽ được tạo trong toàn bộ quá trình từ khi hệ thống khởi động đến khi hệ thống chấm dứt.
Khi gặp các chức năng xung đột trong ứng dụng, chúng ta cần sử dụng mẫu đơn.
Cấu hình, lịch, vùng chứa IOC

Các phương pháp viết thường dùng

  • Phong cách Trung Hòa khát khát
  • phong cách lười biếng
  • Khi đăng ký
  • tự động hóa tuần

1.4. Nguyên mẫu

ứng dụng bản:

Mẫu nguyên mẫu được sử dụng một đối tượng để tạo một đối tượng có thể tùy chỉnh khác mà không cần biết bất kỳ chi tiết nào về công việc được tạo.

Sao chép đối số new icon. lại các bước trong quá trình xây dựng quy trình).

Phân loại Special đầy đủ
sáng tạo mô hình Đầu tiên có một mẫu nguyên.
Nội dung dữ liệu giống nhau, nhưng các đối tượng khác nhau (hoàn toàn là hai cá thể)
Tôn không nướng tóc

1.5. Chế độ ủy quyền (Proxy)

ứng dụng bản:

Cung cấp proxy cho các đối tượng khác để kiểm soát quyền truy cập vào đối tượng này. như Decorator, nhưng dùng Proxy để kiểm soát.

Proxy chế độ của Spring được phản ánh trong AOP, được giới hạn như JdkDynamicAopProxy và Cglib2AopProxy.

Phân loại Special đầy đủ
Structure config người thực hiện, hiệu trưởng
Đối với khách hàng, đây là việc bắt buộc phải làm nhưng tôi không muốn tự mình làm hoặc không có thời gian để làm.
Đối với một đại lý, cần phải có được thông tin cá nhân của người đại diện và kiến ​​thức cần thiết phải liên kết đến một hoặc một số cạnh của toàn bộ quá trình.
Đại lý cho thuê, đại lý bán vé, đại lý mai mối, môi giới, chuyển phát nhanh, đại lý giao dịch, giám sát ký không xâm lấn phạm tội

1.6. Chế độ chiến lược

ứng dụng bản đồ

Mô hình này cho phép bài học thuật toán thay đổi độc lập cho khách hàng sử dụng nó.

Mẫu chiến lược được sử dụng trong Spring khi chuyển đổi các đối tượng về mặt toán học và được sử dụng trong Chiến lược khởi tạo đơn giản.

Phân loại Special đầy đủ
model action vi Kết quả thực thi cuối cùng đã được chỉnh sửa.
Quá trình thực hiện và thực hiện logic khác nhau.
Phương thức du lịch, phương thức thanh toán, đăng nhập (tham chiếu), web thu thập dữ liệu

1.7. Phương pháp mẫu (Phương pháp mẫu)

Xác định khung toán thuật toán trong một thao tác, trì hoãn một số bước cho các lớp con. lại các bước tính toán cụ thể mà không thay đổi cấu trúc cấu trúc của thuật toán.

Mẫu phương thức Mẫu thường cần được kế thừa. JdbcTemplate trong Spring, khi sử dụng lớp này, chúng tôi không muốn kế thừa lớp này, vì lớp này có quá nhiều phương thức nhưng chúng tôi vẫn thích liên kết cơ sở dữ liệu công khai và ổn định mà JdbcTemplate có, vậy chúng ta phải làm sao? Chúng ta có thể trích xuất những thứ đã thay đổi và chuyển chúng sang JdbcTemplate phương thức làm tham số. JdbcTemplate. Định nghĩa trong cuộc gọi lại đối tượng này. chúng tôi chuyển đối tượng gọi lại này tới JdbcTemplate để hoàn thành cuộc gọi. mẫu thức mà không cần phải kế thừa.

Phân loại Special đầy đủ
model action vi Quá trình thực hiện giống nhau, nhưng có một số bước ở giữa có sự khác biệt về kích thước ngồi (được xác định cụ thể khi chạy)
Có thể sản xuất hàng loạt
Mô hình ORM dữ liệu mùa xuân

1.8. Chế độ ủy quyền (Đại biểu)

ứng dụng bản đồ

Nó không phải là một trong 23 thiết kế mẫu và là mẫu được sử dụng phổ biến trong các đối tượng thiết kế mẫu icon. B. như là bên trung gian được ủy quyền. A. Chức năng năng lực này cũng có thể bảo vệ A rất tốt, một mũi tên giết hai con chim.

Phân loại Special đầy đủ
model action vi Để phân biệt với proxy chế độ
Giữ một tham chiếu đến đại biểu
Đừng quan tâm đến quá trình mà chỉ quan tâm đến kết quả
Người quản lý công việc, Người điều phối

1.9.

Mô-đun Spring AOP hỗ trợ ba loại thông báo BeforeAdvice, AfterAdvice và ThrowsAdvice. Nó thực sự được triển khai với sự trợ giúp của các bộ điều hợp. Ưu điểm của việc này là khung cho phép người dùng thêm bất kỳ loại thông báo theo dõi nào mà họ muốn hỗ trợ vào khung. Điểm bất lợi là Ba loại lời khuyên được xác định bởi mô-đun Spring AOP và chúng là các kiểu con của Lời khuyên do Liên minh AOP xác định.

Phân loại Special đầy đủ
model action vi Chú ý đến khả năng tương thích và chuyển đổi
Không có mối quan hệ phân cấp hoặc kết nối cần thiết giữa bộ điều hợp và bộ điều hợp.
Thỏa mãn mối quan hệ có - a.
Mã hóa và giải mã, một đến ba đầu sạc, HDMI sang VGA, Type-c sang USB

1.10. Chế độ trang trí

ứng dụng bản đồ

Chúng tôi đã gặp phải một vấn đề như vậy trong dự án của mình: Dự án của chúng tôi cần liên kết với nhiều cơ sở dữ liệu và các khách hàng khác nhau sẽ quay lại để truy cập các cơ sở dữ liệu khác nhau nếu cần trong mỗi lần truy cập. Trước đây chúng ta luôn cấu hình một nguồn dữ liệu trong framework Spring và Hibernate nên thuộc tính DataSource của SessionFactory luôn trỏ đến nguồn dữ liệu này và không thay đổi. Tất cả các DAO đều truy cập cơ sở dữ liệu thông qua nguồn dữ liệu này khi sử dụng SessionFactory. Nhưng hiện tại, do nhu cầu của dự án, DAO của chúng ta phải liên tục chuyển đổi giữa nhiều nguồn dữ liệu khi truy cập SessionFacotry. Câu hỏi đặt ra là: Làm cách nào để SessionFactory thực hiện việc lưu trữ dữ liệu theo nhu cầu của khách hàng một cách linh hoạt? Chúng ta có thể giải quyết nó bằng một vài sửa đổi trong Spring framework không? Có mẫu thiết kế nào có thể được sử dụng không?

Điều đầu tiên bạn nghĩ đến là định cấu hình tất cả các Nguồn dữ liệu trong ApplicationContext của Spring. Các Nguồn dữ liệu này có thể thuộc nhiều loại khác nhau, chẳng hạn như các cơ sở dữ liệu khác nhau: Oracle, SQL Server, Mysql, v.v. hoặc chúng có thể là các nguồn dữ liệu khác nhau: chẳng hạn như các cơ sở dữ liệu khác nhau: Oracle, SQL Server, Mysql, v.v. hoặc chúng có thể là Nguồn dữ liệu khác nhau: Ví dụ: org.apache.commons.dbcp.BasicDataSouce do Apache cung cấp, org.springframework.jndi.jnidObjectFacotryBean do Spring cung cấp, v.v. Sau đó SessionFactory đặt thuộc tính DataSource thành nguồn dữ liệu khác theo yêu cầu của khách hàng để đạt được mục đích chuyển đổi nguồn dữ liệu.

Mẫu bao bọc được sử dụng trong Spring có hai loại: một loại là tên lớp chứa Wrapper và loại còn lại là tên lớp chứa Decorator. Về cơ bản, nó tự động thêm một số trách nhiệm bổ sung cho một đối tượng.

Phân loại Special đầy đủ
Structure config 1. Tập trung vào phạm vi phủ sóng và mở rộng.
2. Cả trình trang trí và đối tượng được trang trí đều thực hiện cùng một giao diện. Mục đích chính là giữ lại mối quan hệ OOP (cùng nguồn gốc và cùng nguồn gốc) sau khi mở rộng.
3. Thỏa mãn mối quan hệ của is - a.
Đóng gói luồng IO, đóng gói nguồn dữ liệu, đóng gói sơ yếu lý lịch

1.11. Mẫu người quan sát (Người quan sát)

ứng dụng bản đồ

Xác định mối quan hệ phụ thuộc một-nhiều giữa các đối tượng Khi trạng thái của một đối tượng thay đổi, tất cả các đối tượng phụ thuộc vào nó sẽ được thông báo và cập nhật tự động.

Nơi được sử dụng phổ biến nhất cho mẫu Observer trong Spring là Listener được phát triển.

Phân loại Special đầy đủ
model action vi Nói chung bao gồm hai vai trò: nhà xuất bản và người đăng ký (người quan sát).
Người khảo sát thường xuyên gọi lại hoặc có thể không.
Trình nghe, thu thập nhật ký, SMS thông báo, email thông báo

1.12.

thiết kế mẫu Tóm tắt trong một câu
Mẫu nhà xưởng (Factory) Chỉ cam chịu trách nhiệm về kết quả, không phải ba không có sản phẩm
Mẫu đơn Đảm bảo độc quyền
Bộ điều chỉnh chế độ Yêu cầu một bộ chuyển đổi (tương thích)
Mẫu trang trí (Decorator) Cần đóng gói nhưng không thay đổi bản chất (cùng nguồn gốc, xuất xứ)
Proxy chế độ (Proxy) Dịch vụ cần có con người, vì vậy hãy tìm một đại lý.
Mẫu người quan sát (Người quan sát) Thông báo cho tôi khi hoàn thành
Chế độ chiến lược (Startegy) Chỉ cần đi theo cách riêng của bạn và đạt được mục tiêu của bạn.
Mẫu chế độ (Mẫu) Quá trình này chúng tôi đã tiêu chuẩn hóa và nguyên liệu thô được chúng tôi bổ sung vào.
Chế độ ủy quyền (Delegate) Công việc là của bạn (nhân viên bình thường), công lao là của tôi (người quản lý dự án)
Mẫu nguyên Sợi sợi lông tơ và bột bay hàng sợi mảnh.

Tổng hợp ý tưởng lập trình

suy nghĩ mùa xuân bản ứng dụng (tính năng) Tóm tắt trong một câu
AOP Lập trình hướng theo cạnh
Tìm mã hóa có các mẫu định nghĩa tốt nhất trong nhiều lớp, phân tích chúng trong quá trình phát triển và hợp nhất chúng trong thời gian chạy.
Lập trình hướng theo cạnh là quy tắc lập hướng.
Phân tách, nhiệm vụ cụ thể dành riêng
OOP Lập trình đối tượng hướng dẫn
Tổng hợp mọi thứ trong cuộc sống
Đóng gói, kế thừa, đa hình
BOP Bean lập trình hướng dẫn (Bean hướng dẫn lập trình)
Thiết kế chương trình cho Beans (các lớp java thông thường).
Mọi thứ bắt đầu với Đậu
IOC Kiểm soát ngược
Spring và để Spring save object đã được tạo (IOC container)
Transfer control (tức là đảo ngược điều khiển)
DI/DL Tiêm phụ thuộc hoặc phụ thuộc
Dependency dependency và tra cứu phụ thuộc, spring không chỉ lưu các đối tượng mà nó tạo ra mà còn lưu lại mối quan hệ giữa các đối tượng icon.
Tiêm có nghĩa là sao chép Có ba phương pháp chính: phương pháp xây dựng, phương pháp thiết lập và phân công trực tiếp.
Làm sạch mối quan hệ trước rồi gán giá trị.

Địa chỉ ban đầu của bài viết này.

Bản gốc được đồng bộ hóa: https://mp.weixin.qq.com/s/IhmKAJl6s8bnIfZdvZaUUw.

Nguồn: https://javaguide.net.

Tài khoản công khai WeChat: Hơn cả Geeks Nguồn: https://javaguide.net.

Tài khoản công khai WeChat: không dành riêng cho những người đam mê công nghệ.

Design Patterns: Design Patterns in Spring end tại đây If Design Patterns: Design Patterns: Về nội dung của các mẫu thiết kế next in. của tôi trong tương lai .

57 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