Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

๐Ÿš€ 3๋‹จ๊ณ„ - ๊ธฐ๋Šฅ ์šฐ์„  ํŒจํ‚ค์ง€ ๊ตฌ์„ฑํ•˜๊ธฐ #343

Open
wants to merge 7 commits into
base: shinseongsu
Choose a base branch
from
Open
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package kitchenpos.infra;
package kitchenpos.common.infra;

import kitchenpos.common.infra.PurgomalumClient;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.infra;
package kitchenpos.common.infra;

public interface PurgomalumClient {
boolean containsProfanity(String text);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.application;
package kitchenpos.menu.application;

import kitchenpos.domain.MenuGroup;
import kitchenpos.domain.MenuGroupRepository;
import kitchenpos.menu.domain.MenuGroup;
import kitchenpos.menu.domain.MenuGroupRepository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package kitchenpos.application;
package kitchenpos.menu.application;

import kitchenpos.domain.*;
import kitchenpos.infra.PurgomalumClient;
import kitchenpos.common.infra.PurgomalumClient;
import kitchenpos.menu.domain.*;
import kitchenpos.product.domain.Product;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๊ณ ๋ฏผํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”.
ํ˜„์žฌ Menu ์ปจํ…์ŠคํŠธ์—์„œ Product ์ปจํ…์ŠคํŠธ์˜ ๋„๋ฉ”์ธ์„ ์ง์ ‘ ๋ฐ”๋ผ ๋ณด๊ณ  ์žˆ์–ด์š”.
๊ฐ„์ ‘ ์ฐธ์กฐ๋ฅผ ์ ์šฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์–ด๋–ค ์žฅ๋‹จ์ ์ด ์žˆ์„๊นŒ์š”?๐Ÿ˜„

import kitchenpos.product.domain.ProductRepository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.menu.domain;

import javax.persistence.*;
import java.math.BigDecimal;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.menu.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package kitchenpos.domain;
package kitchenpos.menu.domain;

import kitchenpos.menu.domain.MenuGroup;

import java.util.List;
import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package kitchenpos.domain;
package kitchenpos.menu.domain;

import kitchenpos.product.domain.Product;

import javax.persistence.*;
import java.util.UUID;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package kitchenpos.domain;
package kitchenpos.menu.domain;

import kitchenpos.menu.domain.Menu;

import java.util.List;
import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package kitchenpos.domain;
package kitchenpos.menu.infra;

import kitchenpos.menu.domain.MenuGroup;
import kitchenpos.menu.domain.MenuGroupRepository;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.UUID;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package kitchenpos.domain;
package kitchenpos.menu.infra;

import kitchenpos.menu.domain.Menu;
import kitchenpos.menu.domain.MenuRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.ui;
package kitchenpos.menu.ui;

import kitchenpos.application.MenuGroupService;
import kitchenpos.domain.MenuGroup;
import kitchenpos.menu.application.MenuGroupService;
import kitchenpos.menu.domain.MenuGroup;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.ui;
package kitchenpos.menu.ui;

import kitchenpos.application.MenuService;
import kitchenpos.domain.Menu;
import kitchenpos.menu.application.MenuService;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๊ณ ๋ฏผํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”.
์ „์ฒด์ ์œผ๋กœ ๋ณด๋ฉด Controller์—์„œ Service ๊ตฌํ˜„์ฒด๋ฅผ ์ง์ ‘ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ์–ด์š”.
์ด๊ฑธ ๋งŒ์•ฝ DIP๋ฅผ ์ ์šฉํ•œ๋‹ค๋ฉด ์–ด๋–ค ์žฅ๋‹จ์ ์ด ์žˆ์„๊นŒ์š”? ๐Ÿ˜„

import kitchenpos.menu.domain.Menu;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package kitchenpos.application;
package kitchenpos.order.application;

import kitchenpos.domain.*;
import kitchenpos.infra.KitchenridersClient;
import kitchenpos.order.infra.KitchenridersClient;
import kitchenpos.menu.domain.Menu;
import kitchenpos.menu.domain.MenuRepository;
import kitchenpos.order.domain.*;
import kitchenpos.order.domain.OrderTable;
import kitchenpos.order.domain.OrderTableRepository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package kitchenpos.application;
package kitchenpos.order.application;

import kitchenpos.domain.OrderRepository;
import kitchenpos.domain.OrderStatus;
import kitchenpos.domain.OrderTable;
import kitchenpos.domain.OrderTableRepository;
import kitchenpos.order.domain.OrderRepository;
import kitchenpos.order.domain.OrderStatus;
import kitchenpos.order.domain.OrderTable;
import kitchenpos.order.domain.OrderTableRepository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.order.domain;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

order์•ˆ์—๋Š” ๋งค์žฅ ๋‚ด ์‹์‚ฌ ์ฃผ๋ฌธ, ํ…Œ์ดํฌ ์•„์›ƒ ์ฃผ๋ฌธ, ๋ฐฐ๋‹ฌ ์ฃผ๋ฌธ ๋ชจ๋‘ ํ•จ๊ป˜ ์žˆ๊ตฐ์š”.
ํ˜น์‹œ ๊ฐ๊ฐ์ด ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฐœ์ „ํ•˜์ง€๋Š” ์•Š์„๊นŒ์š”? ๐Ÿ˜„
๊ทธ๋ฆฌ๊ณ  OrderTable ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๋งค์žฅ ๋‚ด ์‹์‚ฌ ์ฃผ๋ฌธ ์ปจํ…์ŠคํŠธ ์—์„œ๋งŒ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์ง€๋Š” ์•Š๋‚˜์š”?
์–ด๋– ์‹ ๊ฐ€์š”?

๋งŒ์•ฝ ๊ฐ๊ฐ์˜ ๋ฐ”์šด๋””๋“œ ์ปจํ…์ŠคํŠธ๋กœ ๋ด์•ผํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ถ„๋ฆฌํ•ด๋ณด๋ฉด ์ข‹์„๊นŒ์š”?


import javax.persistence.*;
import java.time.LocalDateTime;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package kitchenpos.domain;
package kitchenpos.order.domain;

import kitchenpos.menu.domain.Menu;

import javax.persistence.*;
import java.math.BigDecimal;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.order.domain;

import java.util.List;
import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.order.domain;

public enum OrderStatus {
WAITING, ACCEPTED, SERVED, DELIVERING, DELIVERED, COMPLETED
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.order.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.order.domain;

import java.util.List;
import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.order.domain;

public enum OrderType {
DELIVERY, TAKEOUT, EAT_IN
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.infra;
package kitchenpos.order.infra;

import org.springframework.stereotype.Component;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package kitchenpos.domain;
package kitchenpos.order.infra;

import kitchenpos.order.domain.Order;
import kitchenpos.order.domain.OrderRepository;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.UUID;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package kitchenpos.domain;
package kitchenpos.order.infra;

import kitchenpos.order.domain.OrderTable;
import kitchenpos.order.domain.OrderTableRepository;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.UUID;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.infra;
package kitchenpos.order.infra;

import java.math.BigDecimal;
import java.util.UUID;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.ui;
package kitchenpos.order.ui;

import kitchenpos.application.OrderService;
import kitchenpos.domain.Order;
import kitchenpos.order.application.OrderService;
import kitchenpos.order.domain.Order;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.ui;
package kitchenpos.order.ui;

import kitchenpos.application.OrderTableService;
import kitchenpos.domain.OrderTable;
import kitchenpos.order.application.OrderTableService;
import kitchenpos.order.domain.OrderTable;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package kitchenpos.application;
package kitchenpos.product.application;

import kitchenpos.domain.*;
import kitchenpos.infra.PurgomalumClient;
import kitchenpos.common.infra.PurgomalumClient;
import kitchenpos.menu.domain.Menu;
import kitchenpos.menu.domain.MenuProduct;
import kitchenpos.menu.domain.MenuRepository;
import kitchenpos.product.domain.Product;
import kitchenpos.product.domain.ProductRepository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package kitchenpos.domain;
package kitchenpos.product.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package kitchenpos.domain;
package kitchenpos.product.domain;

import kitchenpos.product.domain.Product;

import java.util.List;
import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package kitchenpos.domain;
package kitchenpos.product.infra;

import kitchenpos.product.domain.Product;
import kitchenpos.product.domain.ProductRepository;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.UUID;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.ui;
package kitchenpos.product.ui;

import kitchenpos.application.ProductService;
import kitchenpos.domain.Product;
import kitchenpos.product.application.ProductService;
import kitchenpos.product.domain.Product;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

Expand Down
7 changes: 6 additions & 1 deletion src/test/java/kitchenpos/Fixtures.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package kitchenpos;

import kitchenpos.domain.*;
import kitchenpos.menu.domain.Menu;
import kitchenpos.menu.domain.MenuGroup;
import kitchenpos.menu.domain.MenuProduct;
import kitchenpos.order.domain.*;
import kitchenpos.order.domain.OrderTable;
import kitchenpos.product.domain.Product;

import java.math.BigDecimal;
import java.time.LocalDateTime;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package kitchenpos.application;

import kitchenpos.infra.KitchenridersClient;
import kitchenpos.order.infra.KitchenridersClient;

import java.math.BigDecimal;
import java.util.UUID;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package kitchenpos.application;

import kitchenpos.infra.PurgomalumClient;
import kitchenpos.common.infra.PurgomalumClient;

import java.util.Arrays;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.application;

import kitchenpos.domain.MenuGroup;
import kitchenpos.domain.MenuGroupRepository;
import kitchenpos.menu.domain.MenuGroup;
import kitchenpos.menu.domain.MenuGroupRepository;

import java.util.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.application;

import kitchenpos.domain.Menu;
import kitchenpos.domain.MenuRepository;
import kitchenpos.menu.domain.Menu;
import kitchenpos.menu.domain.MenuRepository;

import java.util.*;
import java.util.stream.Collectors;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package kitchenpos.application;

import kitchenpos.domain.Order;
import kitchenpos.domain.OrderRepository;
import kitchenpos.domain.OrderStatus;
import kitchenpos.domain.OrderTable;
import kitchenpos.order.domain.Order;
import kitchenpos.order.domain.OrderRepository;
import kitchenpos.order.domain.OrderStatus;
import kitchenpos.order.domain.OrderTable;

import java.util.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.application;

import kitchenpos.domain.OrderTable;
import kitchenpos.domain.OrderTableRepository;
import kitchenpos.order.domain.OrderTable;
import kitchenpos.order.domain.OrderTableRepository;

import java.util.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package kitchenpos.application;

import kitchenpos.domain.Product;
import kitchenpos.domain.ProductRepository;
import kitchenpos.product.domain.Product;
import kitchenpos.product.domain.ProductRepository;

import java.util.*;
import java.util.stream.Collectors;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package kitchenpos.application;

import kitchenpos.domain.MenuGroup;
import kitchenpos.domain.MenuGroupRepository;
import kitchenpos.menu.application.MenuGroupService;
import kitchenpos.menu.domain.MenuGroup;
import kitchenpos.menu.domain.MenuGroupRepository;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand Down
10 changes: 8 additions & 2 deletions src/test/java/kitchenpos/application/MenuServiceTest.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
package kitchenpos.application;

import kitchenpos.domain.*;
import kitchenpos.infra.PurgomalumClient;
import kitchenpos.common.infra.PurgomalumClient;
import kitchenpos.menu.application.MenuService;
import kitchenpos.menu.domain.Menu;
import kitchenpos.menu.domain.MenuGroupRepository;
import kitchenpos.menu.domain.MenuProduct;
import kitchenpos.menu.domain.MenuRepository;
import kitchenpos.product.domain.Product;
import kitchenpos.product.domain.ProductRepository;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
Expand Down
Loading