Skip to content
Showing 1-50 of 80 items.
@renovate
Admin 23/03/2021 19:50
Hướng dẫn Adapter Design Pattern

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về Adapter Design Pattern qua cấu trúc, cánh triển khai, ví dụ, đánh giá và ứng dụng của nó. Đây là bài viết đầu tiên của mình nên sẽ không tránh khỏi sai sót, rất mong nhận được sự thông cảm và góp ý từ mọi người. 1. Tổng quan 1.1. Phân loại Adapter là 1 design pattern thuộc nhóm Structural Pattern. Structural Pattern bao gồm những pattern cung cấp các...

Design Pattern C# Design Patterns Adapter Pattern Structural Design Pattern
@renovate
Admin 29/03/2021 21:10
Chương 7 Áp dụng các mẫu thiết kế bằng Swift

Chương 7 Áp dụng mẫu thiết kế hướng đối tượng trong swift (Chú ý Chương này rất dài) Trong xuất bản lần đầu của Gang of Four’s Design Patterns: Elements of Reusable Object- Oriented Software tháng 10 năm 1994. Tôi chỉ chú ý đến những mẫu thiết kế này từ 10 đến 12 năm về trước. Giống hầu hết những lập trình viên có kinh nghiệm, khi tôi lần đầu đọc về những mẫu thiết kế. Tôi nhận ra...

Swift Protocol Oriented Programming Design Patterns iOS Development
@renovate
Admin 04/04/2021 13:00
Kỹ thuật giải quyết bài toàn về policy và công thức tính toán động cho sản phẩm phần mềm

Dạo này tôi có một mối duyên rất tình cờ với việc làm các phần mềm thuộc lĩnh vực tài chính và ngân hàng. Một số bài toán trong lĩnh vực này làm tôi nhớ đến những ngày đầu làm việc với phần mềm Trinet Expense tôi đã phát triển 1 kỹ thuật để tạo ra việc cấu hình các policy kiểm tra các báo cáo về chi phí. Trong phạm vi ngày hôm nay tôi sẽ giới thiệu 1 bài toán tương tự tôi gặp...

Design Patterns OOP
@renovate
Admin 18/05/2021 20:50
Các loại Design Patterns hay có ở Android và App Architectures

Khám phá cách làm cho code Android của bạn clean hơn và dễ hiểu hơn với các design patterns phổ biến khi lập trình Android. Bài viết này sẽ giới thiệu các Design Patterns và App Architectures phổ biến nhất mà bạn có thể sử dụng trong khi phát triển ứng dụng. Hiểu đơn giản thì Design patterns là giải pháp có thể tái sử dụng cho các vấn đề phần mềm thông thường. Còn App Architecture cung cấp giải...

Kotlin Android Design Patterns Clean Architecture
@renovate
Admin 20/11/2021 23:40
Design Patterns là gì? Tại sao nó lại là trợ thủ đắc lực của các Developers

Design Pattern là một giải pháp chung để giải quyết các vấn đề phổ biến khi thiết kế phần mềm trong lập trình hướng đối tượng OOP. Định nghĩa Design pattern là các giải pháp tổng thể đã được tối ưu hóa, được tái sử dụng cho các vấn đề phổ biến trong thiết kế phần mềm mà chúng ta thường gặp phải hàng ngày. Design patterns là một kỹ thuật trong lập trình hướng đối tượng,...

Design Pattern Design Patterns Clean Code lập trình hướng đối tượng Design Partern
@renovate
Admin 21/11/2021 00:10
Signleton Desgin Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Singleton là một trong số 5 design patterns thuộc nhóm Creational Design Pattern - nhóm hỗ trợ khởi tạo class. Nó đảm bảo một class chỉ có duy nhất một instance được khởi tạo và nó cung cấp phương thức truy cập đến instance đó từ mọi nơi (global access). Sử dụng Singleton khi chúng ta muốn: Đảm bảo rằng chỉ có một instance của lớp. Việc quản lý việc truy cập tốt hơn vì chỉ có...

singleton Design Patterns Creational Patterns Design Partern Creational Design Pattern
@renovate
Admin 21/11/2021 00:20
Design Patterns là gì? Tại sao nó lại là trợ thủ đắc lực của Developers

Design Pattern là một giải pháp chung để giải quyết các vấn đề phổ biến khi thiết kế phần mềm trong lập trình hướng đối tượng OOP. Định nghĩa Design pattern là các giải pháp tổng thể đã được tối ưu hóa, được tái sử dụng cho các vấn đề phổ biến trong thiết kế phần mềm mà chúng ta thường gặp phải hàng ngày. Design patterns là một kỹ thuật trong lập trình hướng đối tượng,...

Design Pattern Design Patterns Clean Code lập trình hướng đối tượng Design Partern
@renovate
Admin 21/11/2021 00:30
Factory Method Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Factory method (hay còn gọi là virtual constructor) là một mẫu thiết kế thuộc nhóm Creational Patterns – những mẫu thiết kế cho việc khởi tạo đối tượng của lớp Khi chúng ta muốn tạo ra một object của một type nào đấy, nhưng chúng ta không biết rõ mình sẽ phải tạo ra cái gì, mà nó phải dựa vào một số điều kiện business logic đầu vào để tạo ra object tương ứng, thì chúng ta...

Design Pattern Design Patterns Creational Patterns Creational Design Pattern Factory method pattern
@renovate
Admin 21/11/2021 10:40
Abstract Factory Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Abstract Factory (Kit) là một design pattern thuộc nhóm Creational Pattern Design – những mẫu thiết kế cho việc khởi tạo đối tượng của lớp Được xây dựng dựa trên Factory Pattern và nó được xem là một factory cao nhất trong hệ thống phân cấp. Pattern này sẽ tạo ra các factory là class con của nó và các factory này được tạo ra giống như cách mà factory tạo ra các sub-class. Mục đích:...

Design Patterns Creational Patterns Abstract Factory Design Partern Creational Design Pattern
@renovate
Admin 21/11/2021 10:50
Adapter Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Adapter (wrapper) là một mẫu thiết kế thuộc nhóm Structural Pattern – những mẫu thiết kế cho việc thiết kế cấu trúc Là mẫu thiết kế chuyển đổi khuôn mẫu (interface) của một lớp thành một khuôn mẫu khác mà phía clients muốn. Cho phép 2 khuôn mẫu không liên quan làm việc cùng nhau. Adapter Pattern giữ vai trò trung gian giữa hai lớp, chuyển đổi interface của một hay nhiều lớp có sẵn...

Design Patterns Adapter Pattern Adapter Structural Patterns Design Partern
@renovate
Admin 21/11/2021 11:20
Bridge Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Bridge Pattern là một trong những Pattern thuộc nhóm Structural Pattern. Ý tưởng của nó là tách tính trừu tượng (abstraction) ra khỏi tính hiện thực (implementation) của nó. Từ đó có thể dễ dàng chỉnh sửa hoặc thay thế mà không làm ảnh hưởng đến những nơi có sử dụng lớp ban đầu. Sử dụng Bridge Patern khi chúng ta muốn: Khi bạn muốn tách ràng buộc giữa Abstraction và Implementation,...

Design Pattern Design Patterns Structural Design Pattern Structural Patterns
@renovate
Admin 21/11/2021 12:40
Builder Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Builder là một mẫu thiết kế thuộc nhóm Creational Pattern – những mẫu thiết kế cho việc khởi tạo đối tượng của lớp Builder Pattern là một mẫu thiết kế được dùng để cung cấp một giải pháp linh hoạt cho các vấn đề tạo đối tượng (object) khác nhau trong lập trình hướng đối tượng. Cho phép bạn xây dựng các đối tượng phức tạp bằng cách sử dụng các đối...

Builder partern Design Pattern Design Patterns Creational Patterns Creational Design Pattern
@renovate
Admin 21/11/2021 13:20
Prototype Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Prototype là một design pattern thuộc nhóm Creational Pattern - những mẫu thiết kế cho việc khởi tạo object của lớp. Prototype quy định loại của các đối tượng cần tạo bằng cách dùng một đối tượng mẫu, tạo mới nhờ vào sao chép đối tượng mẫu này mà không làm cho code phụ thuộc vào các lớp của chúng. Prototype Pattern được dùng khi việc tạo một object tốn nhiều chi phí và...

Design Pattern Design Patterns prototype Creational Design Pattern Prototype Pattern
@renovate
Admin 21/11/2021 13:30
Composite Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Composite là một mẫu thiết kế thuộc nhóm cấu trúc (Structural Pattern). Composite Pattern là một sự tổng hợp những thành phần có quan hệ với nhau để tạo ra thành phần lớn hơn. Nó cho phép thực hiện các tương tác với tất cả đối tượng trong mẫu tương tự nhau. Tần suất sử dụng: khá cao 2. Mục đích ra đời Composite Pattern được sử dụng khi chúng ta cần xử lý một nhóm đối...

Design Pattern Design Patterns Structural Design Pattern Structural Patterns Composite Pattern
@renovate
Admin 21/11/2021 13:40
Decorator Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Phân loại: Structural pattern Bí danh: Wrapper Mục đích: Mở rộng tính năng của một object tại run-time, decorator cung cấp một sự thay thế linh hoạt cho subclass để mở rộng tính năng của object Tần suất sử dụng: bình thường 2. Mục đích ra đời Hãy tưởng tượng rằng bạn đang làm việc với một thư viện thông báo cho phép các chương trình khác thông báo cho người dùng của họ về...

Decorator Pattern Design Patterns Structural Design Pattern Structural Patterns Decorator
@renovate
Admin 21/11/2021 15:00
Flyweight Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Flyweight là một mẫu thiết kế thuộc nhóm Structural Pattern – những mẫu thiết kế giúp dễ dàng thiết kế bằng cách xác định một cách hiện thực hóa mối quan hệ giữa các thực thể. Mẫu thiết kế Flyweight là một mẫu thiết kế cấu trúc cho phép bạn lắp nhiều đối tượng hơn vào dung lượng RAM có sẵn bằng cách chia sẻ, phân phối các phần trạng thái chung - riêng giữa nhiều...

Design Pattern Design Patterns Structural Design Pattern Structural Patterns
@renovate
Admin 21/11/2021 15:30
State Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu State Pattern là một mẫu thiết kế thuộc nhóm Behavioral Pattern – những mẫu thiết kế xác định các mẫu giao tiếp chung giữa các object. Từ đó các mẫu này tăng tính linh hoạt trong việc thực hiện việc giao tiếp giữa các object. State Pattern là một mẫu thiết kế hành vi cho phép một object thay đổi hành vi của nó khi trạng thái bên trong của nó thay đổi. Nó là một trong những mẫu...

Design Pattern Design Patterns Behavioral Design Pattern Behavioral state design pattern
@renovate
Admin 21/11/2021 16:00
Proxy Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Proxy (hay còn gọi là Surrogate) là một mẫu thiết kế thuộc nhóm cấu trúc (Structural Pattern). Điều khiển gián tiếp việc truy xuất đối tượng thông qua một đối tượng được ủy nhiệm Cung cấp 1 class đại diện để quản lí sự truy xuất đến thành phần của 1 class khác Giải quyết vấn đề security, perfomance, validation,… Tần suất sử dụng: khá cao 2. Mục đích ra...

Design Pattern Design Patterns Structural Design Pattern Structural Patterns
@renovate
Admin 21/11/2021 16:10
Template Method Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Phân loại: Behavior Pattern Mục đích: Template Method xây dựng một bộ khung thuật toán trong một toán tử, để lại việc định nghĩa một vài bước cho các subclass mà không làm thay đổi cấu trúc chung của thuật toán. Tần suất sử dụng: trung bình 2. Mục đích ra đời Problem Giả sử khi tạo một ứng dụng khai thác dữ liệu để phân tích các tài liệu của công ty. Người dùng cung cấp...

Design Patterns Behavioral Design Pattern Behavioral template method
@renovate
Admin 21/11/2021 16:20
Visitor Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Visitor là một mẫu thiết kế thuộc nhóm Behavior Pattern Visitor còn được biết đến như là Double dispatch Cho phép định nghĩa các operation trên một tập hợp các đối tượng không đồng nhất về kiểu mà không làm thay đổi định nghĩa về lớp của các đối tượng đó. Cho phép tách các thuật toán khỏi các đối tượng mà chúng hoạt động. Giúp phục hồi lại kiểu dữ liệu bị mất...

Design Pattern Design Patterns Behavioral Design Pattern Behavioral Visitor Pattern
@renovate
Admin 21/11/2021 16:50
Memento Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Phân loại: Behavior Pattern Mục đích: Memento cho phép người lưu trữ và hồi phục các phiên bản cũ của 1 object mà không can thiệp vào nội dung của object đó. 2. Mục đích ra đời Problem Tưởng tượng bạn đang tạo 1 text editor. Bao gồm các chức năng như chỉnh sửa text, format text, thêm ảnh, v.v.. Để phát triển thêm app, bạn quyết định cho phép người dùng undo và redo bất kỳ thao tác...

Design Pattern Design Patterns Behavioral Design Pattern Behavioral Memento Pattern
@renovate
Admin 21/11/2021 16:50
Mediator Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Mediator Pattern là một trong những Pattern thuộc nhóm hành vi (Behavior Pattern). Mediator có nghĩa là người trung gian. Pattern này nói rằng “Định nghĩa một đối tượng gói gọn cách một tập hợp các đối tượng tương tác. Mediator thúc đẩy sự khớp nối lỏng lẻo (loose coupling) bằng cách ngăn không cho các đối tượng đề cập đến nhau một cách rõ ràng và nó cho phép bạn thay đổi sự...

Design Pattern Design Patterns Behavioral Design Pattern Behavioral Mediator
@renovate
Admin 21/11/2021 17:50
Chain of Responsibility Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Chain of Responsibility là một mẫu thiết kế thuộc nhóm hành vi (Behavioral Pattern). Mục đích: cho phép một đối tượng gửi một yêu cầu nhưng không biết đối tượng nào sẽ nhận và xử lý nó. Điều này được thực hiện bằng cách kết nối các đối tượng nhận yêu cầu thành một chuỗi (chain) và gửi yêu cầu theo chuỗi đó cho đến khi có một đối tượng xử lý nó. Chain of...

Design Patterns Behavioral Design Pattern Chain of Responsibility Pattern Chain of Responsibility Behavioral
@renovate
Admin 21/11/2021 18:00
Iterator Design Pattern - Trợ thủ đắc lực của Developers

1. Giới thiệu Iterator hay còn gọi là Cursor là một mẫu thiết kế thuộc nhóm hành vi (Behavioral Pattern). Iterator được thiết kế cho phép xử lý nhiều loại tập hợp khác nhau bằng cách truy cập những phần tử của tập hợp với cùng một phương pháp, cùng một cách thức định sẵn, mà không cần phải hiểu rõ về những chi tiết bên trong của những tập hợp này. Nói cách khác, một Iterator được...

Design Pattern Design Patterns Behavioral Design Pattern Iterator Pattern Iterator
@renovate
Admin 17/12/2021 14:30
[Design Pattern] Basic Pattern

Đây là 1 series mình hệ thống lại những gì mình đã học về các design pattern cơ bản. Có thể vẫn có nhiều sai sót hi vọng được bổ sung thêm I. Khái niệm design pattern Design pattern có thể hiểu là một tài liệu thực hành tốt nhất hay cốt lõi của một giải pháp nhằm giải quyết một nhóm các vấn đề cụ thể đã được thực hành đối với nhiều môi trường khác nhau. 1. Tính chất Là các tài...

Design Patterns
@renovate
Admin 14/01/2022 15:40
[Design Patterns] Collectional Patterns

Collectional Pattern Tiếp theo trong series sẽ là bài tổng hợp các collectional patterns. Chức năng chính, giống như tên gọi của nó, nhằm giúp xử lý với các thao tác trên tập hợp với các mục đích như: xử lý, thao tác trên các nhóm, tập hợp object kết hợp các class và object để khởi tạo một cấu trúc lớn hơn thiết kế tốt nhất cho một class mà các instance của nó sẽ không chứa các dữ liệu bị...

Design Patterns