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

Udemy/Ts/section5/70: singleton pattern #46

Open
wants to merge 54 commits into
base: UdemyTs
Choose a base branch
from
Open

Conversation

4BFC
Copy link
Member

@4BFC 4BFC commented Sep 23, 2024

✍Udemy/Ts/section5/70: singleton pattern

본 PR은 청강 1회독을 마친 후 N회독으로 작성된 PR입니다.

🔗Reference

🔥KeyWord

  • singleton pattern
  • private
  • static

📝Description

  • singleton pattern
    • 🚩: singleton pattern 적용 및 실습
    • 이전까지 작성한 코드들은 Department 클래스를 추상화한 이후부터 생성된 인스턴스들이 각 개별적으로 동작하게 되면서 데이터들의 관리가 매우 비효율적이며 혼란과 혼동을 발생시키는 것을 알수 있다. 이를 방지하기 위해서 singleton pattern을 사용해서 문제를 해결할수 있다.
      • 먼저 생성자(constructor)의 접근제한자를 private으로 설정하고 static인 정적 함수로 getInstance를 생성한다. 이제 해당 함수 내부에서는 new 키워드를 사용해서 AccountingDepartment 클래스를 인스턴스화 한다. 그전에 인스턴스화한 객체가 있는 존재 유무를 판단하는 검증을 위한 조건문을 작성해줘야한다.(이 과정이 마치 stack,DFS,BFS와 같은 알고리즘과 매우 흡사하다.) 이렇게 만들어진 정적 함수getInstance 를 사용하기 위해서는 이전처럼 new 키워드가 아닌 직접적 접근을 통해서 const NewAccounting = AccountingDepartment.getInstance();와 같이 작성하면 된다. 이 클래스를 다른 변수로 생성을 해서 log로 확인해보면 이전과 달리 동일한 결과 값이 나오고 이를 통해서 singleton pattern이 완성되어 하나의 데이터를 유지관리할 수 있음을 알 수 있다.

📌Summary

4BFC and others added 30 commits August 27, 2024 01:50
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 작성한 커밋입니다.
Github에서 작성한 커밋입니다.
Github에서 수정한 커밋입니다.
Github에서 수정한 커밋입니다.
@4BFC 4BFC self-assigned this Sep 23, 2024
@4BFC 4BFC added the 2회독 회독 label Sep 23, 2024
@4BFC 4BFC added this to the Udemy:TypeScript milestone Sep 23, 2024
@4BFC 4BFC requested a review from nyun-nye September 23, 2024 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2회독 회독
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant