더 많은 디자인 및 아키텍처 문제입니다.
이전 시스템을위한 새로운 UI 레이어를 개발 중입니다. 이 시스템은 특정 xml 형식의 요청을 받아들입니다. 현재 새로운 UI 레이어의 요청은 컨트롤러를 통해 데이터 마사지 클래스로 이동합니다.
이 Translator/Massaging class
은 UI 요청 xml을 원하는 요청 형식으로 변환합니다. UI 레이어에서받은 XML에 더 이상 사용되지 않는 요소와 상수를 추가하지 않습니다.
UI의 요청 XML은 부분적으로 실제 백엔드와 유사합니다. 그러나 실제 요청으로 변환하려면 Translator/Massaging
클래스로 가야합니다.
제 질문은 UI가 부분적으로 실제 요청과 비슷한 요청 XML 인 경우 걱정해야합니까? UI 레이어는 JSON 형식의 데이터를 Translator/Massaging
으로 보낼 수 있으며 번역기 클래스는이를 실제 요청 XML로 변환 할 수 있습니까?디자인 문제 : UI 레이어가 백엔드에 대해 걱정해야합니까?
답변
내 질문에 대한 질문은 UI가 실제 요청과 부분적으로 비슷합니까? UI 레이어는 JSON 형식의 데이터를 마사지 클래스에 보낼 수 있으며 마사지 클래스는이를 실제 요청 XML로 변환 할 수 있습니까?
분명히 할 수 있습니다. 그러나 그것은 "마사지"수업이 더 할 일이 있음을 의미합니다.
내 마음에, 당신은 아마 여기에 잘못된 질문을하고 있습니다. 내가 신발에 앉아 있었다면 왜 "이전"시스템에 대한 요청 형식을 직접 사용할 수 없으며 왜 "이전"시스템을 "새로운"시스템에서 요청을 받아들이도록 변경할 수 없는지 스스로에게 물어볼 것입니다. 형식으로 직접.
또 다른 말로 표현하면, 새로운 형식을 구현하는 목적과 "마사지"의 모든 추가 코딩과 성능에 중점을 둔다.
당신이 우리에게 말하지 않은 다른 일이 없다면,이 모든 것이 나에게 불필요하게 들립니다.
서비스를 생각하십시오! 서버가 제공하고 클라이언트가 사용하는 모든 기능은 서비스 인터페이스에 의해 추상화되어야하므로이 서비스를 사용하는 코드 은 해당 구현이나 관련된 프로토콜을 걱정하지 않아도됩니다.. , 외관은 다음 XML로 인수를 변환 할 수 있습니다
interface SomeService {
public SomeResult doSomething(SomeArguments) throws SomeException;
}
class SomeServiceServerImpl implements SomeService {
// server-side implementation
}
class SomeServiceClientFacade implements SomeService {
// client-side facade, forwards the request, for example to a web service
}
: 그런 다음 서버의 실제 구현, 서버에 요청을 전달합니다 클라이언트에 대한 원격 외관 구현이 또한 응답을 처리 할 수 있습니다 웹 서비스를 호출하고 XML 응답을 구문 분석 한 다음 결과 개체 또는 예외로 다시 변환합니다.
당신은 표준화 된 RPC (원격 프로 시저 호출) 프로토콜 (예 : JSON-RPC SOAP이나),이 요청을 marshalling 및 응답 비 정렬 화를 않는 InvocationHandler
와 Proxy을 사용하는 것입니다 처리 할 수있는 가장 우아한 방법을 사용하는 경우 일반적으로 원격 서비스 프록시를 저렴하게 만들 수 있습니다.
나는 그것이 특권을 가진 클라이언트라고 말할 것이다. 이 UI 레이어는 EAR의 일부이기 때문입니다. –
내 질문에 UI가 레이어의 요청 XML이 실제 요청과 부분적으로 유사 할 경우 걱정할 필요가 있습니까?
아니요. 다음 질문에서 제안했듯이 메시징 클래스는 GUI 데이터를 실제 XML 요청으로 변환 할 수 있습니다.
UI 레이어가 JSON 형식의 데이터를 메시징 클래스로 보내고 메시징 클래스가이를 실제 요청 XML로 변환 할 수 있습니까?
수 있습니다. 그러나 GUI에는 데이터 모델이 있어야합니다. GUI는 데이터 모델과 상호 작용합니다. 데이터 모델은 메시징 클래스와 상호 작용합니다. 우리에게 말하지 않는 몇 가지 요구 사항이 없으면 다른 데이터 형식이 필요하지 않습니다.
예, 데이터 모델에 대해 절대적으로 맞습니다. 이 양식들은 데이터 모델을 따르고 있으며, 저는 이것을 UIModels이라고 부릅니다. 각 UIModel을 VO 객체라고 생각하십시오. 현재'Translator' 또는'Massaging' 클래스는 이러한 'UIModel' XML을 요청 XML에 일치하는 일정한 요소로 적절한 위치에 배치합니다. 좋은 데? –
@Himanshu Yadav : GUI 구성 요소가 UIModels의 필드를 가져 오거나 설정할 수있는 한 그렇습니다. –
한 번 더 의심됩니다. 이러한 UI 모델은 실제로 VO 객체를 나타내는 UIModel XML입니다. 현재 모든 필드'name' 속성 값이 UIModel XML 요소와 일치하는지 확인합니다.
그런 다음 xml을 양식 값과 함께 작성합니다. 이 양식 XML은 모델 XML과 동일합니다. 모델 XML과 일치하는 양식 값을 사용하여 JSON 객체를 작성할 수 있습니까? 적절한 것으로 들리는가? –
- 1. 암호 보안에 대해 걱정해야합니까?
- 2. NSUserDefaults의 충돌에 대해 걱정해야합니까?
- 3. MySQL 데이터베이스의로드에 대해 걱정해야합니까?
- 4. IE6 이하에 대해 걱정해야합니까?
- 5. 나는 이것에 대해 걱정해야합니까 ...?
- 6. Xamarin에서 안드로이드 UI 디자인 문제
- 7. HierarchyID가 부족하다는 것에 대해 걱정해야합니까?
- 8. 플래시의 스레드 안전성에 대해 걱정해야합니까?
- 9. 언제 ActiveRecord 잠금에 대해 걱정해야합니까?
- 10. MVC 디자인 패턴에서 서비스 레이어가 무엇을 나타내는가
- 11. WPF UI 디자인 문제 - 컨트롤 가시성
- 12. Big Endianness에 대해 걱정해야합니까 아니면 사소한 측면입니까?
- 13. Doctrine2 EntityManagers의 여러 인스턴스와의 불일치에 대해 걱정해야합니까?
- 14. 하나의 CPU 시스템에서 NUMA에 대해 걱정해야합니까?
- 15. .NET 코드의 난독 화에 대해 걱정해야합니까?
- 16. 가짜 계정/웹 사이트의 로그인에 대해 걱정해야합니까?
- 17. 스윙에서 "this"포인터 누출에 대해 걱정해야합니까?
- 18. 내 설정에 액세스하는 타사 패키지에 대해 걱정해야합니까?
- 19. 파이프가 오버 플로우되는 것에 대해 걱정해야합니까?
- 20. 설정 테이블이 커지는 것에 대해 걱정해야합니까?
- 21. SELECT 쿼리의 경우 SQL 주입에 대해 걱정해야합니까?
- 22. UI 화면 디자인
- 23. UI 디자인 도움말/조언
- 24. GWT를 사용한 UI 디자인
- 25. Android 콤플렉스 UI 디자인
- 26. JSP/HTML UI 디자인
- 27. 활성 백엔드에 대해 pyface를 쿼리하는 방법이 있습니까?
- 28. master_slave 모드에서 pgpool을 백엔드에 대해 인증하지 못했습니다.
- 29. PDF 백엔드에 대해 등뼈의 캡 스타일을 설정하십시오.
- 30. UI 디자인 용도로 서브 클래 싱하는 방법에 대해 자세히 알아보십시오.
이유 1 : 오래된 시스템은 변경할 수 없습니다. 그것은 거대하고 완고합니다. 변경 사항의 영향을 파악하는 데 많은 시간이 소요됩니다. 이유 2 : 받아들이는 요청 XML은 꽤 크고 일정하고 비추천 된 요소가 많이 있습니다. 새로운 UI를 가능한 한 가볍게 유지하여 더 작은 장치에서도 작동 할 수 있도록 노력했습니다. –