Skip to content

Commit

Permalink
feat: Domain 선수추가 기능(#128)
Browse files Browse the repository at this point in the history
  • Loading branch information
eemdeeks committed Jan 20, 2024
1 parent 49b28aa commit 0509bac
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 8 deletions.
8 changes: 7 additions & 1 deletion Projects/Domain/Sources/Entity/Player.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,14 @@

import Foundation

public struct Player {
public struct Player: Identifiable {
public let id: UUID
public var name: String
public var backNumber: Int

public init(id: UUID, name: String, backNumber: Int) {
self.id = id
self.name = name
self.backNumber = backNumber
}
}
4 changes: 3 additions & 1 deletion Projects/Domain/Sources/Entity/Team.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ import Foundation
public struct Team: Identifiable {
public let id: UUID
public var name: String
public var members: [Player]

public init(id: UUID, name: String) {
public init(id: UUID, name: String, members: [Player]) {
self.id = id
self.name = name
self.members = members
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@ public protocol TeamDBRepositoryInterface {

func load() -> [Team]
func save(name: String)

func addPlayer(player: Player)
}
16 changes: 11 additions & 5 deletions Projects/Domain/Sources/UseCase/Player/PlayerUseCase.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,18 @@

import Foundation

protocol PlayerUseCase {
func addPlayer(name: String, backNumber: Int) -> Player
public protocol PlayerUseCase {
func addPlayer(name: String, backNumber: Int)
}

class PlayerSelectionUseCase: PlayerUseCase {
func addPlayer(name: String, backNumber: Int) -> Player {
Player(id: UUID(), name: name, backNumber: backNumber)
public class PlayerSelectionUseCase: PlayerUseCase {
private let teamDBRepository: TeamDBRepositoryInterface

public init(teamDBRepository: TeamDBRepositoryInterface) {
self.teamDBRepository = teamDBRepository
}

public func addPlayer(name: String, backNumber: Int) {
teamDBRepository.addPlayer(player: Player(id: UUID(), name: name, backNumber: backNumber))
}
}
7 changes: 6 additions & 1 deletion Projects/Domain/Sources/UseCase/Team/FetchTeamUseCase.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ import Foundation

public protocol FetchTeamUseCase {
func excute() -> [Team]
func getDB() -> TeamDBRepositoryInterface
}

public final class DefaultFetchTeamUseCase: FetchTeamUseCase {

private let teamDBRepository: TeamDBRepositoryInterface
public let teamDBRepository: TeamDBRepositoryInterface

public init(teamDBRepository: TeamDBRepositoryInterface) {
self.teamDBRepository = teamDBRepository
Expand All @@ -23,4 +24,8 @@ public final class DefaultFetchTeamUseCase: FetchTeamUseCase {
public func excute() -> [Team] {
teamDBRepository.load()
}

public func getDB() -> TeamDBRepositoryInterface{
return self.teamDBRepository
}
}

0 comments on commit 0509bac

Please sign in to comment.