Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 스프링 배치
- elasticsearch
- elastic search
- scala
- 도메인주도설계
- Java
- docker
- DDD
- hibernate
- Hbase
- Gradle
- Angular2
- spark
- SBT
- intellij
- nginx
- apache storm
- 엘라스틱서치
- Domain Driven Design
- Storm
- Spring Batch
- 제주
- Spring Boot
- hdfs
- Clean Code
- Linux
- design pattern
- Spring
- Spring XD
- hadoop
Archives
- Today
- Total
목록CQS (1)
욱'S 노트
CQS - Command Query Separation
Command–query separation (CQS)는 컴퓨터 프로그래밍에서 반드시 지켜야 할 원칙이다. 이것은 Bertrand Meyerd의 Eiffel 프로그래밍 언어에서 고안되었다. 모든 메소드는 한번의 액션에서 상태를 변경하는 커맨드든 데이터를 반환하는 쿼리든 한가지 액션만 취해야 한다는 것이다. 다시 말하자면 질문을 할때 대답을 변경하지 말라는 것이다. 더 정확하게는 메소드는 값을 반환할 때 referentially transparent(시스템의 상태를 변경하지 않을 때 함수를 referentially transparent하다고 함)해야 하며 사이드 이펙트를 유발하지 말아야 한다. 여기 CQS 원칙을 위반한 단순한 예제이다. 그러나 멀티 스레드 소프트웨어에서 유용한 예이기도 하다. 살태를 변경..
Language/IT
2015. 7. 20. 19:07