
		<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
			<channel>
				<title>TungDaDev&#39;s Blog – stories, insights &amp; ideas</title>
				<link>https://tungdadev.com/blog</link>
				<description>A personal space on the cloud where I document my programming journey, sharing lessons, insights and resources for fellow developers.</description>
				<language>en-us</language>
				<managingEditor>bthanhtung.ite@gmail.com (TungDaDev)</managingEditor>
				<webMaster>bthanhtung.ite@gmail.com (TungDaDev)</webMaster>
				<lastBuildDate>Tue, 19 Nov 2024 00:00:00 GMT</lastBuildDate>
				<atom:link href="https://tungdadev.com/tags/design-pattern/feed.xml" rel="self" type="application/rss+xml"/>
				
		<item>
			<guid>https://tungdadev.com/blog/abstract-pattern</guid>
			<title>abstract factory in java</title>
			<link>https://tungdadev.com/blog/abstract-pattern</link>
			<description>Abstract Factory là một mẫu thiết kế thuộc nhóm khởi tạo (Creational Design Pattern). Nó cung cấp một interface để tạo ra các &quot;gia đình&quot; (families) gồm các object có liên quan hoặc phụ thuộc lẫn nhau, mà không cần phải chỉ định rõ các class cụ thể (concrete classes) của chúng.</description>
			<pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/adapter-pattern</guid>
			<title>adapter pattern in java</title>
			<link>https://tungdadev.com/blog/adapter-pattern</link>
			<description>Một trung gian để biến đổi interface của một lớp thành một interface khác mà phía Client (người sử dụng) đang mong đợi. Nhờ đó, các lớp có interface không tương thích vẫn có thể &quot;bắt tay&quot; làm việc cùng nhau mà không cần sửa đổi mã nguồn gốc của chúng.</description>
			<pubDate>Thu, 31 Oct 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/builder-pattern</guid>
			<title>builder pattern in java</title>
			<link>https://tungdadev.com/blog/builder-pattern</link>
			<description>Builder Pattern trong Java là một mẫu thiết kế khởi tạo (creational pattern) giúp giải quyết tình trạng một lớp có quá nhiều hàm tạo chồng chéo (telescoping constructor). Nó cho phép xây dựng các đối tượng phức tạp một cách linh hoạt, từng bước thông qua chuỗi phương thức (method chaining), giúp mã nguồn dễ đọc hơn và hỗ trợ hoàn hảo cho việc tạo các đối tượng bất biến (immutable).</description>
			<pubDate>Thu, 03 Oct 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/command-pattern</guid>
			<title>command pattern in java</title>
			<link>https://tungdadev.com/blog/command-pattern</link>
			<description>Command Pattern trong Java là một mẫu thiết kế hành vi (behavioral pattern) giúp đóng gói toàn bộ một yêu cầu thành một đối tượng độc lập. Việc này cho phép bạn lưu trữ, truyền tham số, xếp hàng đợi (queue) quá trình thực thi, đồng thời hỗ trợ cực tốt cho các tính năng hoàn tác (undo/redo) trong hệ thống.</description>
			<pubDate>Thu, 09 Jan 2025 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/decorator-pattern</guid>
			<title>decorator pattern in java</title>
			<link>https://tungdadev.com/blog/decorator-pattern</link>
			<description>Decorator Pattern trong Java là một mẫu thiết kế cấu trúc (structural pattern) cho phép bổ sung linh hoạt các hành vi hoặc tính năng mới cho một đối tượng cụ thể tại thời điểm chạy (runtime) mà không làm thay đổi mã nguồn của lớp ban đầu. Thay vì sử dụng kế thừa (subclassing) cồng kềnh, mẫu này sử dụng các lớp &quot;bọc&quot; (wrapper) để mở rộng chức năng một cách độc lập, giúp mã nguồn dễ bảo trì và mở rộng hơn.</description>
			<pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/design-patterns-spring</guid>
			<title>design patterns in spring boot</title>
			<link>https://tungdadev.com/blog/design-patterns-spring</link>
			<description>Design patterns không chỉ là lý thuyết. Bài viết này phân tích cách ứng dụng các mẫu thiết kế kinh điển vào Spring Boot để xây dựng hệ thống mạch lạc, tối giản luồng xử lý và dễ dàng mở rộng.</description>
			<pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>best-practices</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/facade-pattern</guid>
			<title>facade pattern in java</title>
			<link>https://tungdadev.com/blog/facade-pattern</link>
			<description>Facade Pattern trong Java là một mẫu thiết kế cấu trúc (structural pattern) cung cấp một giao diện đơn giản và thống nhất để giao tiếp với một hệ thống con (subsystem) phức tạp bao gồm nhiều lớp và API. Nó hoạt động như một &quot;mặt tiền&quot; che giấu sự rắc rối bên dưới, giúp ứng dụng khách (client) dễ dàng tương tác, giảm thiểu sự phụ thuộc và tối ưu hóa việc bảo trì hệ thống.</description>
			<pubDate>Thu, 28 Nov 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/factory-pattern</guid>
			<title>factory pattern in java</title>
			<link>https://tungdadev.com/blog/factory-pattern</link>
			<description>Factory Pattern trong Java là một mẫu thiết kế khởi tạo (creational pattern) cung cấp một giao diện để tạo ra các đối tượng, nhưng ủy quyền quyết định khởi tạo lớp cụ thể nào cho các lớp con. Mẫu này giúp tách biệt logic khởi tạo phức tạp khỏi ứng dụng khách (client), mang lại sự linh hoạt cao khi cần mở rộng thêm các loại đối tượng mới mà không phải sửa đổi mã nguồn hiện có.</description>
			<pubDate>Thu, 05 Sep 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/iterator-pattern</guid>
			<title>iterator pattern in java</title>
			<link>https://tungdadev.com/blog/iterator-pattern</link>
			<description>Iterator Pattern trong Java là một mẫu thiết kế hành vi (behavioral pattern) cho phép duyệt qua tuần tự các phần tử của một tập hợp (collection) mà không cần phơi bày cấu trúc dữ liệu thực sự bên dưới của nó (như Array hay LinkedList). Mẫu này được tích hợp sẵn qua interface Iterator, cung cấp một cách tiếp cận đồng nhất và an toàn để truy cập dữ liệu, giúp tách biệt logic duyệt vòng lặp khỏi logic nghiệp vụ chính của ứng dụng.</description>
			<pubDate>Thu, 23 Jan 2025 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/observer-pattern</guid>
			<title>observer pattern trong java</title>
			<link>https://tungdadev.com/blog/observer-pattern</link>
			<description>Observer Pattern trong Java là một mẫu thiết kế hành vi (behavioral pattern) tạo ra mối liên kết một-nhiều giữa các đối tượng. Khi đối tượng gốc (Subject) thay đổi trạng thái, toàn bộ các đối tượng đang &quot;đăng ký lắng nghe&quot; (Observer) sẽ tự động được thông báo và cập nhật, đặc biệt hữu ích khi xây dựng các hệ thống phản hồi sự kiện (event-driven) hoặc giao diện người dùng.</description>
			<pubDate>Thu, 12 Dec 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/prototype-pattern</guid>
			<title>prototype pattern in java</title>
			<link>https://tungdadev.com/blog/prototype-pattern</link>
			<description>Prototype Pattern trong Java là một mẫu thiết kế khởi tạo (creational pattern) cho phép tạo ra đối tượng mới bằng cách sao chép (clone) một đối tượng nguyên mẫu đã có sẵn thay vì khởi tạo lại từ đầu (thường dùng từ khóa new). Kỹ thuật này thường được triển khai thông qua interface Cloneable và phương thức clone(), giúp tiết kiệm đáng kể thời gian và tài nguyên khi quá trình tạo mới một đối tượng quá phức tạp hoặc tốn kém.</description>
			<pubDate>Thu, 17 Oct 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/singleton-pattern</guid>
			<title>singleton pattern in java</title>
			<link>https://tungdadev.com/blog/singleton-pattern</link>
			<description>Singleton Pattern trong Java là một mẫu thiết kế khởi tạo (creational pattern) đảm bảo rằng một lớp chỉ có duy nhất một phiên bản (instance) được tạo ra trong suốt vòng đời của ứng dụng. Nó cung cấp một điểm truy cập toàn cục duy nhất đến phiên bản đó, rất hữu ích trong việc quản lý các tài nguyên chia sẻ như kết nối cơ sở dữ liệu (database connection) hoặc đối tượng cấu hình (configuration).</description>
			<pubDate>Thu, 22 Aug 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/stategy-pattern</guid>
			<title>strategy pattern in java</title>
			<link>https://tungdadev.com/blog/stategy-pattern</link>
			<description>Strategy Pattern trong Java là một mẫu thiết kế hành vi (behavioral pattern) cho phép bạn định nghĩa một tập hợp các thuật toán, đóng gói từng thuật toán lại thành các lớp riêng biệt và làm cho chúng có thể hoán đổi cho nhau tại thời điểm chạy (runtime).</description>
			<pubDate>Thu, 26 Dec 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/visitor-pattern</guid>
			<title>visitor pattern trong java</title>
			<link>https://tungdadev.com/blog/visitor-pattern</link>
			<description>Visitor Pattern trong Java là một mẫu thiết kế hành vi (behavioral pattern) cho phép bạn tách biệt các thuật toán xử lý khỏi cấu trúc của các đối tượng mà chúng thao tác. Mẫu này cực kỳ mạnh mẽ khi bạn có một cấu trúc dữ liệu cố định (thường là một cây các đối tượng khác nhau) và bạn muốn thực hiện nhiều thao tác khác nhau trên đó mà không cần sửa đổi mã nguồn của các lớp đối tượng đó.</description>
			<pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>software-development</category><category>design-pattern</category><category>vietnamese</category>
		</item>
	
			</channel>
		</rss>
	