EA의 DA08 배포
7884 단어 designlearningarchitecture
本篇主要讲企业级应用(Enterprise Applications, EAs)中与分布式有关的问题。
EA는 분산 시스템입니까?
대답은 예입니다. EA에는 일반적으로 동시 데이터 액세스 및 다른 EA와의 통합이 있기 때문입니다.
분산 EA의 통신
대답은 예입니다. EA에는 일반적으로 동시 데이터 액세스 및 다른 EA와의 통합이 있기 때문입니다.
분산 EA의 통신
로컬 인터페이스 및 원격 인터페이스
로컬 인터페이스는 같은 프로세스의 다른 개체에서만 액세스하는 로컬 개체에 있습니다.
원격 인터페이스는 배포 경계의 개체에 있으며 원격으로 호출됩니다.
패턴: 데이터 전송 개체 数据传输对象
DTO는 여러 개체의 여러 속성을 네트워크를 통해 보낼 수 있는 단일 개체로 조합합니다.
직렬화 가능
DTO는 네트워크를 통해 전송되도록 설계되었으므로 직렬화 가능해야 합니다.
다양한 직렬화 유형:
예시:
class Address {
private int number;
private String street;
private int postcode;
}
class Customer {
private String name;
private Address address;
}
class CustomerDTO {
private String name;
private int number;
private String street;
private int postcode;
/* e.g. JSON String */
public static String serialize(CustomerDTO cdto) {...}
public static CustomerDTO deserialize(String customerStr) {...}
}
// DTO should not known the details of domain objects
class CustomerAssembler {
public static CustomerDTO createCustomerDTO(Customer c) {...}
public static Customer createCustomer(CustomerDTO cdto) {...}
}
DTO의 장단점
장점
단점
패턴: 원격 외관
세세한 개체의 웹을 통해 세세한 인터페이스를 제공합니다. 두 세계의 장점입니다.
PPT에 대한 자세한 내용은 다음과 같습니다.
예시:
public class CustomerFacade {
public CustomerDTO getCustomer(int id) {
Customer customer = CustomerMapper.find(id);
CustomerDTO dto = CustomerAssembler.createCustomerDTO(customer);
return dto;
}
public void updateCustomer(CustomerDTO customerDTO) {
CustomerAssembler.updateCustomer(customerDTO);
}
public String getCustomerJSON(int id) {
Customer customer = CustomerMapper.find(id);
CustomerDTO dto = CustomerAssembler.createCustomerDTO(customer);
return CustomerDTO.serialize(dto);
}
public void updateCustomerJSON(String json) {
CustomerDTO customerDTO = CustomerDTO.deserialize(json);
CustomerAssembler.updateCustomer(customerDTO);
}
}
원격 외관의 장단점
장점
단점
유스 케이스당 파사드? 전체 애플리케이션을 위한 하나의 원격 외관?
Reference
이 문제에 관하여(EA의 DA08 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/declair/da08-distribution-in-ea-1ge7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)