'객체지향' 태그의 글 목록 (3 Page)
본문 바로가기
728x90
반응형

객체지향40

22.02.07_Csharp람다식 익명 메소드를 만드는 또 하나의 방법 1.람다식 기본적인 람다식 선언 형식 => 는 입력 연산자임 c#컴파일러는 이 코드를층 더 간결하게 만들 수 있도록 형식 유추라는 기능을 제공 그렇게 하면 매개변수의 형식을 제거할 수 있음 before Calculate calc = (int a, int b) => a + b; after Calculate calc = (a, b) => a + b; 매개변수_목록 => 식 //사용 delegate int Calculate(int a, int b); // ... static void Main(string[] args) { Calculate calc = (int a, int b) => a + b; } 2.문 형식의 람다식 람다식은 말 그대로 식 형식을 하고 있음 식 형식의 .. 2022. 2. 7.
22.02.06_Csharp대리자와이벤트 컴퓨터에 발생하는 이벤트에 반응하도록 프로그램을 만드는 것을 일컬어 이벤트 기반 프로그래밍이라고 함 이벤트 기반 프로그래밍은 GUI를 만들때 특히 유용 이벤트기반 프로그래밍을 이해하려면 먼저 대리자를 알아야함 그 다음에는 이벤트를 알아야함 1.대리자란? 상현이가 비서에게 했던 부탁을 영어로 콜백이라고 함 어떤일을 수행하는 코드, 즉 콜백을 작성하고 다른 코드에 이 콜백을 맡겨 대신 실행하게 함 여기서 콜백을 맡아줄 코드는 컴파일 시점이 아닌 프로그램 실해 중에 결정됨 콜백을 맡아 실행하는 일은 대리자가 담당 대리자는 메소드에 대한 참조임 대리자에 메소드의 주소를 할당한 후 대리자를 호출하면 이 대리자가 메소드를 호출해줌 한정자 delegate 반환_형식 대리자_이름(매개변수_목록); //사용 delega.. 2022. 2. 6.
22.02.06_Csharp예외처리하기 예외가 프로그램의 오류나 다운으로 이어지지 않도록 적절하게 처리하는 것을 예외 처리 라고 함 1.try~catch로 예외 받기 try { //실행하고자 하는 코드 } catch(예외_객체_1) { //예외가 발생했을 때의 처리 } catch(예외_객체_2) { //예외가 발생했을 때의 처리 } //사용 try { for(int i=0; i 10) throw new FilterableException() { ErrorNo = num }; else Console.WriteLine($"Output : {num}"); } catch (FilterableException e) when (e.ErrorNo 2022. 2. 6.
22.02.01_[05DDD].데이터와관계된처리를분리하자-리포지토리 0.리포지토리 리포지토리는 퍼시스턴시를 담당 SW 를 계속 성장시키려면 코드의 의도를 명확히 해야함 객체를 저장하고 복원하는 퍼시스턴시 처리도 물론 중요하지만, 데이터 스토어를 다루는 코드는 프로그램의 의도를 가리기 쉬움 의도가 잘 드러나게 하려면 데이터스토어와 관련된 처리를 따로 떼어내야 함 리포지토리는 이러한 처리를 추상적으로 다룰 수 있게 해주며 따라서 코드의 의도가 더 잘 드러나게 해줌 그외에도 데이터 관련처리를 리포지토리에 맡기면 데이터 스토어를 쉽게 교체하는 효과도 기대할 수 있음 이를 통해 테스트 실행이 쉬어지며, 나아가 프로그램의 변경도 쉬워짐 이는 소프트웨어의 유연성에 기여하는 중요한 패턴임 1.리포지토리란 무엇인가? 리포지토리의 일반적인 의미는 보관창고 소프트웨어에서 말하는것도 데이터 .. 2022. 2. 1.
728x90
반응형