Skip to content

Instantly share code, notes, and snippets.

View nguyen-thom's full-sized avatar
🏠
Working from home

nguyen-thom

🏠
Working from home
View GitHub Profile

Composite pattern

Pattern này thuộc về dạng cấu trúc pattern
Nó dùng để tạo một group objects mà chúng có xử lý giống như một single object đơn lẻ. Nghĩa là một tập object này có cùng một xử lý nào đó giống nhau. Xử lý giống nhau có nghĩa là thực hiện hành vi với mục đích giống nhau. Có thể thiết kế theo dạng tree dựa vào việc sử dụng nhiều composite lồng nhau. Mỗi Composite sẽ có một tập hợp riêng biệt của nó.

Có 3 thành phần trong patter này cần phải nhớ.

1. Component Component là một interface định nghĩa hành vi chung cho group object và tất cả các leaf.

@nguyen-thom
nguyen-thom / hello.js
Created June 25, 2018 08:28
js_example_function
connect.socketLocker = function() {
this.isRunning = false;
this.run = function(action) {
if (this.isRunning) return;
this.isRunning = true;
action(() => {
this.isRunning = false;
});
};
};
@nguyen-thom
nguyen-thom / BT.java
Created May 24, 2018 02:26
BT Ma Hoa Giang
package main;
import java.util.Arrays;
public class BT {
final static String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
final static char[] CHAR_ALPHABETS_UPPSER = ALPHABET.toCharArray();
final static char[] CHAR_ALPHABETS_LOWER = ALPHABET.toLowerCase()
.toCharArray();
@nguyen-thom
nguyen-thom / MessageConverter.java
Created March 23, 2018 03:34
message converter
public class MessageConverter {
public static List<String> convertMessageError(
final CodeLookupManager codeLookupManager,
List<ValidationFailure> failureList) {
List<String> messageErrors = new ArrayList<>();
if (failureList != null) {
String message = "Unknown error: field=[#fieldName], type=[#errorType], value=[#fieldValue]";
for (ValidationFailure thisError : failureList) {
message = codeLookupManager.lookupValue(
int[][] a =
{ {99, 42, 74, 83, 100},
{90, 91, 72, 88, 95},
{88, 61, 74, 89, 96},
{61, 89, 82, 98, 93},
{93, 73, 75, 78, 99},
{50, 65, 92, 87, 94},
{43, 98, 78, 56, 99} };
//gia tri can tim
@nguyen-thom
nguyen-thom / hello.java
Last active August 18, 2017 03:21
hello
//Hello.java
public class HelloJava{
public static void main(String... args){
System.out.println("Hello Java");
}
}
Hello Gist