
		<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>Thu, 31 Oct 2024 00:00:00 GMT</lastBuildDate>
				<atom:link href="https://tungdadev.com/tags/clean-code/feed.xml" rel="self" type="application/rss+xml"/>
				
		<item>
			<guid>https://tungdadev.com/blog/adapter-pattern</guid>
			<title>adapter pattern</title>
			<link>https://tungdadev.com/blog/adapter-pattern</link>
			<description>Phân tích toàn diện Adapter Pattern trong Java: Giải mã kiến trúc Lục Giác (Ports and Adapters), thiết lập Anti-Corruption Layer (ACL) bảo vệ Domain Model trước hệ thống Legacy, và so sánh dứt điểm giữa Adapter, Facade, Proxy và Decorator.</description>
			<pubDate>Thu, 31 Oct 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>architecture</category><category>hexagonal-architecture</category><category>clean-code</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/builder-pattern</guid>
			<title>builder pattern</title>
			<link>https://tungdadev.com/blog/builder-pattern</link>
			<description>Phân tích chuyên sâu Builder Pattern trong Java: Giải mã hiểm họa của JavaBeans Pattern và Telescoping Constructor, kỹ thuật Staged Builder bắt lỗi thiếu trường bắt buộc ngay lúc Compile-time, và so sánh đối đầu giữa Lombok @Builder và Java Records.</description>
			<pubDate>Thu, 03 Oct 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>architecture</category><category>clean-code</category><category>immutability</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/decorator-pattern</guid>
			<title>decorator pattern</title>
			<link>https://tungdadev.com/blog/decorator-pattern</link>
			<description>Mổ xẻ chuyên sâu Decorator Pattern dưới góc nhìn Solution Architect: Vụ nổ lớp kế thừa (Class Explosion), So sánh Decorator thủ công vs Spring AOP Proxies (JDK vs CGLIB), Cạm bẫy Self-Invocation trong AOP và Bản thiết kế Resilient Caching Decorator chuẩn production.</description>
			<pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>spring-boot</category><category>aop</category><category>clean-code</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/factory-pattern</guid>
			<title>factory pattern</title>
			<link>https://tungdadev.com/blog/factory-pattern</link>
			<description>Phân tích toàn diện Factory Pattern dưới góc nhìn Solution Architect: Nghịch lý vi phạm Open/Closed Principle của Factory kinh điển, Kiến trúc Dynamic Bean Injection Map trong Spring Boot, Functional Factory với Java Supplier, và Phân biệt Factory Method vs Abstract Factory trong Multi-Cloud.</description>
			<pubDate>Thu, 05 Sep 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>spring-boot</category><category>clean-code</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/feature-flags-spring-boot-unleash</guid>
			<title>Feature Flags với Unleash &amp; Spring Boot</title>
			<link>https://tungdadev.com/blog/feature-flags-spring-boot-unleash</link>
			<description>Phân tích toàn diện kiến trúc Feature Flags với Unleash trong Spring Boot 3: 4 nhóm Toggles theo chuẩn Pete Hodgson, cơ chế In-Memory Client-Side Evaluation qua Server-Sent Events, giải thuật băm MurmurHash3 trong Gradual Rollout, và kỹ thuật áp dụng Strategy Pattern để xóa sổ if-else hell.</description>
			<pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>spring-boot</category><category>devops</category><category>architecture</category><category>java</category><category>distributed-systems</category><category>clean-code</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/java-coding-convention</guid>
			<title>coding convention và chuẩn mực java</title>
			<link>https://tungdadev.com/blog/java-coding-convention</link>
			<description>Cẩm nang quản trị kỹ thuật dành cho Software Architect: Thiết lập quy chuẩn coding convention chuẩn Google, phá bỏ anti-pattern package-by-layer chuyển sang Vertical Slice, phòng thủ NullPointer với JSpecify &amp; NullAway, và tự động hóa kiểm định ranh giới kiến trúc trong CI/CD bằng ArchUnit.</description>
			<pubDate>Tue, 07 Jan 2025 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>architecture</category><category>best-practices</category><category>clean-code</category><category>software-development</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/list-arraylist-linkedlist-in-java</guid>
			<title>arraylist vs linkedlist</title>
			<link>https://tungdadev.com/blog/list-arraylist-linkedlist-in-java</link>
			<description>Phân tích bản chất hiệu năng của ArrayList vs LinkedList trong Java: Giải mã CPU Cache Line (Spatial Locality), bóc trần lãng phí bộ nhớ của Node header, phản bác định kiến giáo khoa về tốc độ chèn của LinkedList, và giới thiệu giải pháp thay thế tối thượng ArrayDeque.</description>
			<pubDate>Thu, 21 Dec 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>performance</category><category>data-structures</category><category>architecture</category><category>clean-code</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/optional</guid>
			<title>Optional trong Java</title>
			<link>https://tungdadev.com/blog/optional</link>
			<description>Phân tích toàn diện Java Optional dưới góc nhìn Solution Architect: Chi phí GC và Object Header 16-24 bytes, 6 Anti-Patterns kinh điển làm suy giảm hiệu năng hệ thống, Sự khác biệt sống còn giữa orElse và orElseGet, và Chuẩn mực Null-Safety với JSpecify.</description>
			<pubDate>Wed, 24 Jan 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>jvm</category><category>software-architecture</category><category>clean-code</category><category>optimization</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/prototype-pattern</guid>
			<title>prototype pattern</title>
			<link>https://tungdadev.com/blog/prototype-pattern</link>
			<description>Phân tích bản chất Prototype Pattern trong Java: Giải mã vì sao Cloneable là một lỗi thiết kế nghiêm trọng của JDK, phân biệt Shallow Copy vs Deep Copy, và đánh giá 4 phương pháp nhân bản đối tượng chuẩn production (Copy Constructor, Jackson, Kryo, Record Withers).</description>
			<pubDate>Thu, 17 Oct 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>architecture</category><category>performance</category><category>clean-code</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/spring-di</guid>
			<title>Spring IoC &amp; Dependency Injection</title>
			<link>https://tungdadev.com/blog/spring-di</link>
			<description>Mổ xẻ kiến trúc nội tại của Spring IoC Container: Phân biệt DIP vs IoC vs DI, 12 giai đoạn vòng đời của một Bean trong ApplicationContext, cơ chế giải quyết Circular Dependency qua bộ nhớ đệm 3 tầng (Three-Level Cache), và lý do Field Injection @Autowired bị khai tử trong môi trường Enterprise.</description>
			<pubDate>Tue, 01 Aug 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>spring-framework</category><category>spring-boot</category><category>architecture</category><category>design-pattern</category><category>clean-code</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/spring-security-annotations</guid>
			<title>Spring Security annotations</title>
			<link>https://tungdadev.com/blog/spring-security-annotations</link>
			<description>Phân tích toàn diện kiến trúc bảo mật Spring Security: Cơ chế phòng thủ kép giữa FilterChain và AOP Method Security, giải mã SpEL trong @PreAuthorize, bẫy Side-Effect của @PostAuthorize, hiểm họa hiệu năng của @PostFilter, và thiết lập Role Hierarchy chuẩn production.</description>
			<pubDate>Wed, 18 Oct 2023 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>spring-security</category><category>spring-boot</category><category>architecture</category><category>security</category><category>clean-code</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/strategy-pattern</guid>
			<title>strategy pattern</title>
			<link>https://tungdadev.com/blog/strategy-pattern</link>
			<description>Phân tích toàn diện Strategy Pattern dưới góc nhìn Solution Architect: Phân biệt bản chất Strategy vs State vs Template Method, Sự thay thế của Java Functional Interfaces loại bỏ class bừa bãi, và Kiến trúc Dynamic Promotion Engine trong Spring Boot.</description>
			<pubDate>Thu, 26 Dec 2024 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>spring-boot</category><category>clean-code</category><category>software-architecture</category><category>vietnamese</category>
		</item>
	
		<item>
			<guid>https://tungdadev.com/blog/visitor-pattern</guid>
			<title>visitor pattern</title>
			<link>https://tungdadev.com/blog/visitor-pattern</link>
			<description>Phân tích bản chất cốt lõi của Visitor Pattern trong Java: Giải mã cơ chế Double Dispatch để vượt qua rào cản Single Dispatch của JVM, ứng dụng trong duyệt cây cú pháp (AST), và so sánh đối đầu với Pattern Matching on Sealed Types trong Java 21.</description>
			<pubDate>Thu, 06 Feb 2025 00:00:00 GMT</pubDate>
			<author>bthanhtung.ite@gmail.com (TungDaDev)</author>
			<category>java</category><category>design-pattern</category><category>architecture</category><category>clean-code</category><category>compiler</category><category>vietnamese</category>
		</item>
	
			</channel>
		</rss>
	