TL;DR
아이템 15. 클래스와 멤버의 접근 권한을 최소화하라모든 클래스와 멤버의 접근성을 가능한 한 좁혀야 한다. 아이템 16. public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라패키지 바깥에서 접근할 수 있는 클래스라면 접근자를 제공함으로써 클래스 내부 표현
방식을 언제든 바꿀 수 있는 유연성을 얻을 수 있다. 아이템 17. 변경 가능성을 최소화하라클래스를 불변으로 만들기 위한 다섯 가지 규칙
불변 객체의 특징불변 객체는 단순하다. 불변 클래스의 단점값이 다르면 반드시 독립된 객체로 만들어야 한다. 아이템 18. 상속보다는 컴포지션을 사용하라메서드 호출과 달리 상속은 캡슐화를 깨뜨린다. 아이템 19. 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라상속용 클래스는 재정의할 수 있는 메서드들을 내부적으로 어떻게 이용하는지(자기사용) 문서로 남겨야 한다. 아이템 20. 추상 클래스보다는 인터페이스를 우선하라기존 클래스에도 손쉽게 새로운 인터페이스를 구현해넣을 수
있다. 아이템 21. 인터페이스는 구현하는 쪽을 생각해 설계하라생각할 수 있는 모든 상황에서 불변식을 해치지 않는 디폴트 메서드를 작성하기란 어려운 법이다. 아이템 22. 인터페이스는 타입을 정의하는 용도로만 사용하라상수 인터페이스 안티패턴은 인터페이스를 잘못 사용한 예다. 아이템 23. 태그 달린 클래스보다는 클래스 계층구조를 활용하라태그 달린 클래스는 장황하고, 오류를 내기 쉽고, 비효율적이다. 아이템 24. 멤버 클래스는 되도록 static으로 만들라멤버 클래스에서 바깥 인스턴스에 접근할 일이 없다면 무조건 아이템 25. 톱레벨 클래스는 한 파일에 하나만 담으라소스 파일 하나에는 반드시 톱레벨 클래스 (혹은 톱레벨 인터페이스)를 하나만 담자.
조현영님의 Node.js 교과서의 내용을 공부하여 정리한 내용입니다. 2.2.1 |
1 | var xhr = new XMLHttpRequest(); |
- 먼저 XMLHttpRequest 생성자로 xhr 객체를 생성
- xhr.open 메서드에 요청 메서드와 요청 주소를 넣고 xhr.send 메서드로 - 보내면 된다.
- xhr.onreadystatechange는 이벤트 리스너로 요청한 후 서버로부터 응답이 올 때 응답을 받을 수 있다.
- 응답 코드가 200번 대 숫자면 성공을 의미하므로 xhr.responseText에는 성공한 내용이 담겨 있을 것이고, 그렇지 않다면 에러 메시지가 담겨 있을 것이다.
현재 설정된 주소는 실제로 동작하는 주소이므로 콘솔에서 결과를 받을 수 있다.
onreadystatechange 대신 onload와 onerror로 성공과 실패를 구별해도 된다.
1 | var xhr = new XMLHttpRequest(); |
서버로 데이터를 같이 보내는 POST 요청의 경우
- JSON 데이터를 보낸다.
1 | var xhr = new XMLHttpRequest(); |
- 전체적인 구조는 비슷한데 xhr.send 메서드에 데이터를 넣어 보내는 것이 다르다.
- xhr.setRequestHeader 메서드로, 서버로 보내는 컨텐츠가 JSON 형식임을 알릴 수 있다.
- 현재 설정된 주소는 실제로 동작하는 주소라서 결과값을 받을 수 있다.
- POST 요청의 경우 에러가 발생하는데, 이 에러를 해결하는 방법은 10.7절에서 배울 예정