728x90 반응형 인터페이스17 22.02.04_C#프로퍼티 객체지향 언어는 은닉성을 표현할 수 있어야 함 객체의 데이터가 의도하지 않게 오염되는 것을 막아야함 C++이나 java에서는 private이나 protected 접근 한정자를 이용해서 클래스 내의 필드를 외부에서 보이지 않게 감추고, 이 필드에 접근하는 메소드들은 public으로 따로 제공 Csharp도 비슷하게 사용할 수 있지만 프로퍼티라는 것을 이용함 1.기본적인 방식 class MyClass { private int myField; public int GetMyField(){return myField}; public void SetMYField(int NewValue){myField = NewValue} } //사용 MyClass obj = new MyClass(); obj.SetMyField(3).. 2022. 2. 5. 2021.12.09_컴포짓패턴04.자바와스프링에서찾아보는패턴 package me.whiteship.designpatterns._02_structural_patterns._08_composite._03_java; import javax.swing.*; public class SwingExample { public static void main(String[] args) { JFrame frame = new JFrame(); JTextField textField = new JTextField(); textField.setBounds(200, 200, 200, 40); frame.add(textField); JButton button = new JButton("click"); button.setBounds(200, 100, 60, 40); button.addAction.. 2021. 12. 9. 2021.12.07_어댑터패턴04.자바와스프링에서찾아보는패턴 JAVA public AdapterInJava{ public static main(String[] args){ List strings = Arrays.AsList("a","b","c"); } } 배열을 리스트로 변경할 때 이렇게 상이한 것을 바꿔주는것 Collections public AdapterInJava{ public static main(String[] args){ List strings = Arrays.AsList("a","b","c"); Enumeration enumeration =Collections.enumeration(strings); ArrayList list = Collections.list(enumeration); } } 리스트를 Enumer로 변경하는 것 Enumer을 리스트로 변.. 2021. 12. 7. 2021.12.07_어댑터패턴03.장점과단점 어댑터 패턴 기존 코드를 클라이언트가 사용하는 인터페이스의 구현체로 바꿔주는 패턴 장점 기존 코드를 변경하지 않고 원하는 인터페이스 구현체를 만들어 사용할 수 있음 open close 원칙에 가깝다 할 수 있음 기존코드가 하던 일과 특정 인터페이스 구현체로 변환하는 작업을 각기 다른 클래스로 분리하여 관리할 수 있음 단일 책임 원칙에 가까움 단점 새 클래스가 생겨 복잡도가 증가할 수 있음 경우에 따라서는 기존 코드가 해당 인터페이스를 구현하도록 수정하는 것이 좋은 선택이 될 수도 있음 직접 구현이 불가한 경우 어댑터 패턴을 적용해야하지만 그런게 아니면 직접 구현해도 된다면 클래스를 따로 추가 하지 않아도 구현이 더깔끔하게 될 수 있음 판단은 개인이 알아서 하기 https://github.com/3DPIT.. 2021. 12. 7. 이전 1 2 3 4 5 다음 728x90 반응형