- VisualStudio2022
- pprof-Hướng dẫn sử dụng nó trong bản mạng trực tiếp
- Triển khai C# các loại hộp chọn nhiều màu lựa chọn thả xuống, cây lựa chọn nhiều màu lựa chọn thả xuống và các nút tối đa
- [Ghi chú học tập] Cơ sở dữ liệu cấu trúc: cat tree
Địa chỉ ban đầu của bài viết này.
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ể.
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.
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.
Đây là cơ sở của quy tắc mở và đóng. cụ thể.
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.
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.
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.
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 |
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 |
Đả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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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. |
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 .
Tôi đã thử đọc tài liệu về Spring BOM, Spring Boot và Spring IO. Trong dự án của tôi, chúng tôi đã có bản gốc POM của riêng mình
Một ứng dụng doanh nghiệp thú vị mà tôi đang phát triển đang chuyển sang mùa Xuân. cả các đội, nhưng nó cũng là một yếu tố gây căng thẳng rất lớn. cũ sang bối cảnh Spring. Bây giờ chúng ta có một hữu ích
Tôi đang cố gắng chạy một công việc hàng loạt mùa xuân bằng cách sử dụng @Scheduled được chú thích như sau: @Scheduled(cron = "* * * * * ?") public void launchMessageDi
Tôi hơi bối rối về hai khái niệm này. Đọc tài liệu Spring tôi tìm thấy ý tưởng. chứa mùa xuân.
Chúng tôi có một ứng dụng được tích hợp trong Spring BlazeDS. Bây giờ chúng ta cũng cần thêm một số bộ điều khiển Spring MVC.
Tôi muốn một phần tử lược đồ tùy chỉnh Spring, công việc này rất dễ thực hiện, cho phép tôi
Làm cách nào để tạo trình cài đặt MongoDB tổng hợp chỉ mục trong Java bằng Spring Data? như thế này: mongoTemplate.indexOps(
Theo bạn có thể giải quyết công việc phát trực tuyến hàng loạt mùa xuân với mùa xuân Không
Tôi đã phát triển ứng dụng khởi động mùa xuân và bây giờ tôi muốn sử dụng nó làm thư viện cho các ứng dụng không phải mùa xuân. tôi tạo cá thể bằng cách sử dụng "mới"
Tôi mới bắt đầu học bảo mật đám mây mùa xuân và tôi có một câu hỏi cơ bản. Nó khác với Spring Security như thế nào? Chúng ta có cần xây dựng ứng dụng của mình trên spring boot để sử dụng spr không?
Nhiều người gợi ý tôi nên sử dụng Spring Boot thay vì Spring để phát triển các dịch vụ web REST. Tôi muốn biết sự khác biệt giữa hai là gì? Câu trả lời hay nhất: Tóm lại, Spring Boot giảm bớt việc phải viết nhiều cấu hình và code soạn sẵn
Bạn có thể giải thích cho tôi cách xây dựng một ứng dụng web bằng Spring đúng cách không? Tôi biết rằng phiên bản mới nhất của Spring Framework là 4.0.0.RELEASE, nhưng phiên bản Spring Security mới nhất là 3.2.0
Làm cách nào tôi có thể biết tên của tất cả các loại đậu được tải như một phần của ứng dụng Spring Boot? Tôi muốn có một số mã trong phương thức chính để in chi tiết về các hạt được tải sau khi máy chủ khởi động. Câu trả lời hay nhất là mùa xuân-
Tôi có API RESTful được xây dựng bằng Spring 3.1, cũng sử dụng Spring Security. Tôi có một ứng dụng web cũng là ứng dụng Spring 3.1 MVC. Tôi dự định thu hút khách hàng trên thiết bị di động
Sau khi nâng cấp lên Spring 5, tôi gặp lỗi trong Spring Rabbit và Spring AMQP. Cả hai hiện được đặt thành 1.5.6.RELEASE Có ai biết phiên bản nào sẽ tương thích với Spring 5 không?
Tôi đã sử dụng Spring Framework 3.0.5 và Spring Security 3.0.5 nhiều lần. Tôi biết Spring framework sử dụng DI và AOP. Tôi cũng biết về Spring Security
Tôi gặp lỗi Không thể định vị NamespaceHandler khi sử dụng bối cảnh: chú thích-config đang chạy (java -jar) bởi
Chiến lược nhúng số phiên bản duy nhất trong ứng dụng Spring là gì? Tôi có một ứng dụng sử dụng Spring Boot và Spring Web. Nó đủ trưởng thành để tôi muốn phiên bản nó và xem nó hiển thị trên màn hình khi chạy
Tôi đang sử dụng dữ liệu mùa xuân jpa để duy trì. Có cách nào để đánh dấu một thực thể là mặc định nếu có nhiều thực thể có cùng tên. Một cái gì đó tương tự như chú thích @Primary được sử dụng để giải quyết vấn đề phụ thuộc của nhiều đậu @Ent
Tôi đã đọc về lớp DAOSupport của Spring framework. Nhưng tôi không thể hiểu được ưu điểm của các lớp DAOSuport này. Trong lớp DAOSupport, chúng tôi gọi phương thức getXXXTemplate() để có được một địa chỉ cụ thể
Tôi là một lập trình viên xuất sắc, rất xuất sắc!