본문 바로가기
[Objective-C] 객체 기반 소프트웨어 작성 [Objective-C] 객체 기반 소프트웨어 작성 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 1. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 1.1 객체 개념 * 1.1.1. 소프트웨어를 기능 중심으로 설계 했을 때의 문제점 -기능은 상당히 쉽게 바뀔 수 있다.따라서 기능 중심으로 설계한 소프트웨어는 변경에 취약해서 유지 보수하는 데 비용이 많이 든다. * 1.1.2. 객체로 모델화 -객체를 사용해 작성한 모델은 사람이 생각하는 개념 사이의 관계를 반영한 것이므로 기능을 변경하더라도 큰 영향을 받지는 않는다. * 1.1.3. 메세지로 통신 -메시지는.. 2017. 12. 23.
[Java Concurrency] 스레드 풀 활용 [Java Concurrency] 스레드 풀 활용 8.1. 작업과 실행 정책 간의 보이지 않는 연결 관계 - 일정한 조건을 갖춘 실행 정책이 필요한 작업에는 다음과 같은 것들이 있다. 의존성이 있는 작업 스레드 한정 기법을 사용하는 작업 응답 시간이 민감한 작업 ThreadLocal 을 사용하는 작업 - 스레드 풀은 동일하고 서로 독립적인 다수의 작업을 실행할 때 가장 효과적이다. - 특정 작업을 실행하고자 할 때 그에 맞는 실행 정책을 요구하는 경우도 있고, 특정 실행 정책 아래에서는 실행되지 않는 경우도 있다. 다른 작업에 의존성이 있는 작업을 실행해야 할 때는 스레드 풀의 크기를 충분히 크게 잡아서 작업이 큐에서 대기하거나 등록되지 못하는 상황이 없도록 해야 한다. 스레드 한정 기법을 사용하는 작업.. 2017. 4. 27.
[Java Concurrency] 객체구성 [Java Concurrency] 객체구성 4.1. 스레드 안전한 클래스 설계 - 객체가 갖고 있는 여러 가지 정보를 해당 객체 내부에 숨겨두면 전체 프로그램을 다 뒤져볼 필요 없이 객체 단위로 스레드 안전성이 확보되어 있는지 확인할 수 있다. - 클래스가 스레드 안전성을 확보하도록 설계하고자 할 때에는 다음과 같이 세 가지를 고려해야 한다. 객체의 상태를 보관하는 변수가 어떤 것인가? 객체의 상태를 보관하는 변수가 가질 수 있는 값이 어떤 종류, 어떤 범위에 해당하는가? 객체 내부의 값을 동시에 사용하고자 할 때, 그 과정을 관리할 수 있는 정책 - n 개의 변수를 갖는 객체의 상태는 n개 변수가 가질 수 있는 값의 전체 조합이다. A라는 객체 내부에 다른 객체 B를 가리키는 변수를 사용하고 있다면, .. 2017. 4. 18.
반응형