SlideShare a Scribd company logo
1 of 33
Download to read offline
Whole Part
      charsyam@naver.com
Composite
Whole Part
Whole Part
Assembly-Parts
Container-Contents
Collection-members
Aseembly-Parts
Container-Contents
Collection-Members
Part + Part = Whole
View
하향식
차를 만들기 위해서는?

CAR
하향식
엔진이 필요할 듯!

CAR    Engine
하향식
연료 펌프도 있어야하고!

 CAR     Engine

        FuelPump
하향식
변속기도 있어야지!
      Transmission


CAR      Engine

       FuelPump
상향식
         엔진이 있네!

Engine        Engine
상향식
    연료펌프도 있고!

 Engine

FuelPump
상향식
       변속기도 있다!
Transmission

   Engine

 FuelPump
상향식
    그럼 차를 만들자!
Transmission

   Engine      CAR
 FuelPump
Whole-Part
PART들이 모여서
   압축모듈

   암호화모듈

   IPC모듈
Whole-Part
PART들이 모여서 Whole을 만들고
                압축모듈
 패킷 전송의 효율과
 보안을 위한 송수신모듈   암호화모듈

                IPC모듈
Whole-Part
  Whole 은

  패킷 전송의 효율과
  보안을 위한 송수신모듈
Whole-Part
Whole 은 Part로 나누어진다.
               압축모듈
패킷 전송의 효율과
보안을 위한 송수신모듈   암호화모듈

               IPC모듈
구현-1
Whole 객체의 공용   Interface 설계
       Whole: 서비스로의
      최소 단위를 설계
구현-2
                PART 1
Whole
                PART 2


PART 1
                Whole
PART 2
구현-3
 Loose Coupling
     암호화모듈

Whole을 몰라도 된다.
구현-3
Implementation Inheritance

Whole의 정보를 알아야 할 때…
    Whole을 위임 형태로 넘겨준다.
구현-3
      Loose Coupling

Implementation Inheritance
구현-4

Part 구현
구현-5

Whole 구현
결론 – Whole Part는!
  Divide And Conquer
결론 – Whole Part는!
   Divide And Conquer
재사용할 수 있는 part들로 기능을 제공
Thank You!

More Related Content

More from DaeMyung Kang

How to use redis well
How to use redis wellHow to use redis well
How to use redis wellDaeMyung Kang
 
The easiest consistent hashing
The easiest consistent hashingThe easiest consistent hashing
The easiest consistent hashingDaeMyung Kang
 
How to name a cache key
How to name a cache keyHow to name a cache key
How to name a cache keyDaeMyung Kang
 
Integration between Filebeat and logstash
Integration between Filebeat and logstash Integration between Filebeat and logstash
Integration between Filebeat and logstash DaeMyung Kang
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advanceDaeMyung Kang
 
Massive service basic
Massive service basicMassive service basic
Massive service basicDaeMyung Kang
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101DaeMyung Kang
 
How To Become Better Engineer
How To Become Better EngineerHow To Become Better Engineer
How To Become Better EngineerDaeMyung Kang
 
Kafka timestamp offset_final
Kafka timestamp offset_finalKafka timestamp offset_final
Kafka timestamp offset_finalDaeMyung Kang
 
Kafka timestamp offset
Kafka timestamp offsetKafka timestamp offset
Kafka timestamp offsetDaeMyung Kang
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lakeDaeMyung Kang
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbieDaeMyung Kang
 

More from DaeMyung Kang (20)

Count min sketch
Count min sketchCount min sketch
Count min sketch
 
Redis
RedisRedis
Redis
 
Ansible
AnsibleAnsible
Ansible
 
Why GUID is needed
Why GUID is neededWhy GUID is needed
Why GUID is needed
 
How to use redis well
How to use redis wellHow to use redis well
How to use redis well
 
The easiest consistent hashing
The easiest consistent hashingThe easiest consistent hashing
The easiest consistent hashing
 
How to name a cache key
How to name a cache keyHow to name a cache key
How to name a cache key
 
Integration between Filebeat and logstash
Integration between Filebeat and logstash Integration between Filebeat and logstash
Integration between Filebeat and logstash
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
How To Become Better Engineer
How To Become Better EngineerHow To Become Better Engineer
How To Become Better Engineer
 
Kafka timestamp offset_final
Kafka timestamp offset_finalKafka timestamp offset_final
Kafka timestamp offset_final
 
Kafka timestamp offset
Kafka timestamp offsetKafka timestamp offset
Kafka timestamp offset
 
Data pipeline and data lake
Data pipeline and data lakeData pipeline and data lake
Data pipeline and data lake
 
Redis acl
Redis aclRedis acl
Redis acl
 
Coffee store
Coffee storeCoffee store
Coffee store
 
Scalable webservice
Scalable webserviceScalable webservice
Scalable webservice
 
Number system
Number systemNumber system
Number system
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 

Whole part