Successfully reported this slideshow.
Your SlideShare is downloading. ×

스프링보다 중요한 스프링 이야기

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 76 Ad

스프링보다 중요한 스프링 이야기

Download to read offline

2015/4/23일 OKKY 정기 모임에서 발표한 자료입니다. 클린코드 11장과 12장의 내용을 기본 틀로 해서 내용을 구성해 봤습니다.
스프링을 이용해서 생성과 이용의 관심사 분리, 횡적 관심사 분리를 하게 되면 지속적으로 SW를 개선할 수 있다는 내용입니다.

2015/4/23일 OKKY 정기 모임에서 발표한 자료입니다. 클린코드 11장과 12장의 내용을 기본 틀로 해서 내용을 구성해 봤습니다.
스프링을 이용해서 생성과 이용의 관심사 분리, 횡적 관심사 분리를 하게 되면 지속적으로 SW를 개선할 수 있다는 내용입니다.

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to 스프링보다 중요한 스프링 이야기 (20)

Advertisement

More from Sungchul Park (12)

Recently uploaded (20)

Advertisement

스프링보다 중요한 스프링 이야기

  1. 1. 스프링보다 중요한 스프링 이야기 박성철
 (한국 스프링 사용자 모임; KSUG)
  2. 2. 生卽苦
  3. 3. 좋은 SW란?
  4. 4. 좋은 SW란? 기능 품질 구조 품질
  5. 5. 신규 기능 추가 기능 구현 + 통합 “우린 못해!” “우린 안해!”
  6. 6. 소프트웨어 위기 소프트웨어 위l의 주요한 위lr 컴퓨터 성능이 몇 수십 배나 더 강력해졌기 때문입st! 심하게 말하면, 컴퓨터가 없었을  r 프로i래밍에r 전혀 문제가 없었습st( q린 컴퓨터 몇 개 뿐이었을  r 프로i래밍이 조k 문제가 되었 c, 이제r 거v한 컴퓨터에 프로i래밍x 따라서 거v한 문제가 되었습st( ' 에츠허르 w이크스트라 / 1.-, 01M 튜링상 수상 연설 F. L. 바우어(Fritz Bauer), 1968, 나토 SW 공학 학회 http://homepages.cs.ncl.ac.uk/brian.randell/NATO/NATOReports/index.html
  7. 7. 인텔 CPU 클럭 속도 향상 속도
  8. 8. 미녀라고 하더니…
  9. 9. SW 위기 SW 개발 문제 SW 품질 문제 SW 기능 문제 SW 구조 문제 보이는 문제 숨은 문제
  10. 10. SW 개발 문제 SW 기능 문제 SW 구조 문제 보이는 문제 숨은 문제 테스트 설계 & 아키텍처 개발 방법론
  11. 11. 분해 (decomposition, factoring)
  12. 12. 관심사 분리 (Separation of concerns) Edsger W. Dijkstra, 1974, "On the role of scientific thought” 
 “e심사 분리r, 완벽하지r 않t 해x, 아직은 ph가의 생각을 효율 적으로 정리하rw 사용할 수 있r 유일한 l법이t(” “sepaKaMCoG o@ coGceKGs X eOeG C@ GoM peK@ecMly possCble Cs yeM Mhe oGly aOaClable MechGCJue @oK e@@ecMCOe oKdeKCGA o@ oGe’s MhouAhMs”
 “특정 e점에 주의를 집중함”
 “@ocusCGA oGe's aMMeGMCoG upoG some aspecM”
  13. 13. SW 구조
  14. 14. 코드 한 덩어리
  15. 15. 수평적 분리 표현 계층 애플리케이션 계층 도메인 계층 데이터 접근/시스템 통합 계층
  16. 16. 수직적 분리 기능A 기능B 기능C 기능D 기능E 기능F
  17. 17. 수평/수직적 분리 AaaControl AaaService AaaBiz AaaDao BbbControl BbbService BbbBiz BbbDao CccControl CccService CccBiz CccDao DddControl DddService DddBiz DddDao
  18. 18. 수평/수직적 분리 AaaControl XxxService AbcBiz QazDao BbbControl WsxDao CccControl YyyService EdcDao DddControl ZzzService RfvDao DefBiz GhiBiz JklBiz MnoBiz 사용자 인터페이스 모델 쓰임새(Use Case) 모델 데이터 모델
  19. 19. 객체 지향 프로그래밍
  20. 20. 객체지향 프로그래밍 동적 디스패치 캡슐화 서브타입 다형성 객체 위임 상속 Open Recursion 클래스 인스턴스 메서드 추상화
  21. 21. 다이나믹 디스패치 ≒ 메시징 “m게 OO7r 메시징d 상태 처리 d정의 지역적 보존, 보호, 은익d 모든 것의 극u적인 지연 바인딩 뿐이t(”
 “OO7 Mo me meaGs oGly messaACGA, local KeMeGMCoG aGd pKoMecMCoG aGd hCdCGA o@ sMaMe'pKocess, aGd exMKeme laMe'bCGdCGA o@ all MhCGAs” “중요한 착안은 “메시지”이t( 이r 스몰톡d 스퀵 핵심 의 본질이t( 일본어에 마(ま)라r 짧은 u어가 있t(”
 “9he bCA Cdea Cs “messaACGA" MhaM Cs PhaM Mhe keKGal o@ SmallMalk)SJueak Cs all abouM( 9he JapaGese haOe a small PoKd Tma’(((” 앨런 케이(0laG Kay) 間
  22. 22. 순서도 vs 소통도 (flow chart vs communication diagram)
  23. 23. 메시지 대면 대화 X 지인과의 전화 통화 X
  24. 24. 메시지 맥도날드에서 주문하기 O
  25. 25. invokeinterface 자바의 네(다섯)가지 호출 방식 invokestatic invokespecial invokevirtual invokedynamic 안o 친f야( 이것 좀 부탁해( n가 ph지 몰라x 신분은 아s 이것 좀 처리해줘( n가 ph지 x무지 모르겠지만 이것 좀 처리해줘(
  26. 26. 인터페이스 중심 설계 “7KoAKammCGA Mo aG CGMeK@ace,SGoM aG CmplemeGMaMCoG” 2o@ 디자인 패턴 X 설계 구현 역할
  27. 27. 의존관계 역전 원칙 (Dependency inversion principle; DIP) AbcService X SomeRepository SomeDao 서비스 계층 데이터 접근 계층
  28. 28. 생성과 사용 분리 (Separation of Use from Construction)
  29. 29. 객체 생성 문제 malloc() new ? GRASP의 생성자(creator) 원칙 누가 객체를 생성해야 하나? 대상 클래스로 구성되는 클래스 대상 클래스를 담고 있는 클래스 대상 클래스의 인스턴스를 기록하는 클래스 대상 클래스와 가깝게 사용되는 클래스 대상 클래스를 생성하는데 필요한 데이터가 있는 클래스 5A A G

×