-
[Java] λμμΈ ν¨ν΄(Template ν¨ν΄)Android/Java 2021. 5. 17. 22:13λ°μν
Template ν¨ν΄μ΄λ?
λνμμ΄λΌλ©΄ PPTλ‘ λ°νν κ²½νμ μμ κ²μ λλ€. PPT λ°ν μλ£λ₯Ό μ§μ κΎΈλ©°μ λ§λλ νμλ μμ μ μκ² μ§λ§, λμμΈ κ°κ°μ΄ μλ μ¬λμκ²λ μ΄λ €μΈ μ μμ΅λλ€. μ΄ λ, λλΆλΆμ PPT ν νλ¦Ώμ κ²μνμ¬ ν νλ¦Ώμ λ΄μ©λ§ μΆκ°νλ λ°©μμΌλ‘ μλ£λ₯Ό λ§λ€ κ²μ λλ€.
μ΄μ²λΌ Template ν¨ν΄μ΄λ μ λ°μ μΈ κ³Όμ κ°μ ν° νλ§ μ£Όμ΄μ§κ³ , μΈλΆμ μΈ λ©μλλ€μ μνλ μ€νμΌμ λ§κ² ꡬννλ ν¨ν΄μ λλ€.
μ λ°μ μΈ κ³Όμ μμ 곡ν΅λ μ μ°¨κ° μμ κ²½μ° μ¬μ©νλ©΄ ν¨κ³Όμ μΈ ν¨ν΄μ λλ€.
Template μ¬μ©
public abstract class Movie { protected abstract void connectMovieServer(); protected abstract void downloadMovieInServer(); protected abstract void playMovie(); public void initMovie(){ connectMovieServer(); downloadMovieInServer(); playMovie(); } }
λ€μ ν΄λμ€λ Movie ν΄λμ€λ‘ λμμμ 보λ κ³Όμ λ€μ λ©μλλ‘ κ΅¬νν΄λμ μΆμν΄λμ€μ λλ€. λμμ 보λ κ³Όμ μ λ¨Όμ μλ²μ μ°κ²°μμΌμ£Όλ λ©μλμΈ connectMovieServerλ₯Ό μ€ννκ³ , μλ²λ‘λΆν° λμμμ λ€μ΄λ°λ λ©μλμΈ downloadMovieInServerλ₯Ό μ€νν©λλ€. λ€μ΄κΉμ§ μλ£λμλ€λ©΄, playMovie λ©μλλ₯Ό μ€ννμ¬ λμμμ μμ²ν μ μμ΅λλ€.
public class Youtube extends Movie{ @Override protected void connectMovieServer() { System.out.println("Youtube connect Movie server"); } @Override protected void downloadMovieInServer() { System.out.println("Youtube download Movie In server"); } @Override protected void playMovie() { System.out.println("Youtube play Movie"); } } public class Facebook extends Movie{ @Override protected void connectMovieServer() { System.out.println("Facebook connect Movie Server"); } @Override protected void downloadMovieInServer() { System.out.println("Facebook downloadMovie in server"); } @Override protected void playMovie() { System.out.println("Facebook play movie"); } }
Movie μΆμν΄λμ€λ₯Ό μμλ°μ Youbute ν΄λμ€μ Facebook ν΄λμ€λ₯Ό ꡬννμμ΅λλ€. μ€μ λ‘ Facebookμ μλ λμμκ³Ό Youtubeμ μλ λμμμ΄ μ¬μλλ μΈλΆμ μΈ κ³Όμ μ΄ λ€λ₯΄κΈ° λλ¬Έμ Template ν¨ν΄μ μ μ©νμμ΅λλ€. λμμμ 보λ μ λ°μ μΈ κ³Όμ μ λμΌνμ§λ§ μΈμΈν λ©μλλ€μ μ€λ²λΌμ΄λ©μ ν΅ν΄ μνλ μ€νμΌλ‘ ꡬνν μ μμ΅λλ€.
κ²°κ³Ό
public class Main{ public static void main(String[] args) { new Facebook().initMovie(); new Youtube().initMovie(); /** * Facebook connect Movie Server * Facebook downloadMovie in server * Facebook play movie * Youtube connect Movie server * Youtube download Movie In server * Youtube play Movie */ } }
- μΆκ°λ‘ κΆκΈν μ μ΄λ μμ ν λΆλΆ μμΌλ©΄ λκΈλ‘ λ¨κ²¨μ£ΌμΈμ.
λ°μν'Android > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] λμμΈ ν¨ν΄(Mediator ν¨ν΄) (0) 2021.05.18 [Java] λμμΈ ν¨ν΄(Proxy ν¨ν΄) (0) 2021.05.14 [Java] λμμΈ ν¨ν΄(Strategy ν¨ν΄) (0) 2021.05.11 [Java] λλ€μμ΄λ? (0) 2021.03.21 [Java] Java Generic(μ λ€λ¦) (0) 2021.03.01