728x90 반응형 C#50 22.02.05_C#배열 1.배열 System.Index형식과 ^연산자 Csharp8.0 부터 생김 ^연산자는 컬렉션의 마지막부터 역순으로 인덱스를 지정하는 기능 ^1은 컬렉션의 마지막부터 역순으로 인덱스를 지정하는 기능 System.Index last = ^1; score[last] = 34; //score[score.Length-1] = 34;와 동일 score[^1] = 34; //이렇게 해도됨 2.System.Array using System; namespace MoreOnArray { class MainApp { private static bool CheckPassed(int score) { return score >= 60; } private static void Print(int value) { Console.Wri.. 2022. 2. 5. 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. 22.02.01_[05DDD].데이터와관계된처리를분리하자-리포지토리 0.리포지토리 리포지토리는 퍼시스턴시를 담당 SW 를 계속 성장시키려면 코드의 의도를 명확히 해야함 객체를 저장하고 복원하는 퍼시스턴시 처리도 물론 중요하지만, 데이터 스토어를 다루는 코드는 프로그램의 의도를 가리기 쉬움 의도가 잘 드러나게 하려면 데이터스토어와 관련된 처리를 따로 떼어내야 함 리포지토리는 이러한 처리를 추상적으로 다룰 수 있게 해주며 따라서 코드의 의도가 더 잘 드러나게 해줌 그외에도 데이터 관련처리를 리포지토리에 맡기면 데이터 스토어를 쉽게 교체하는 효과도 기대할 수 있음 이를 통해 테스트 실행이 쉬어지며, 나아가 프로그램의 변경도 쉬워짐 이는 소프트웨어의 유연성에 기여하는 중요한 패턴임 1.리포지토리란 무엇인가? 리포지토리의 일반적인 의미는 보관창고 소프트웨어에서 말하는것도 데이터 .. 2022. 2. 1. 22.01.29_[04DDD]부자연스러움을해결하는도메인서비스 도메인 개념을 녹이고 값 객체나 엔티티의 행동으로 구현하려면 어딘가 어색한 부분이 생기는 경우가 있음 이 어색한 느낌은 특히 도메인에서 일어나는 활동을 코드로 옮겼을때 자주 나타남 어색한 것을 해결하지 않고, 값 객체의 행동을 억지로 구현하면 객체의 책임이 왜곡될 수 있음 해결책은 어색한 느낌을 낳는 이 행동을 별도의 객체로 분리해 정의하는 것 그것이 도메인 서비스이다. 1. 서비스란? 소프트웨어 개발에서 말하는 서비스는 클라이언트를 위해 무언가를 해주는 객체를 말함 너무 광범위하기도 하고 도메인 주도 설계에만 초점을 맞춰도 서비스가 들어간 용어끼리 의미가 서로 다른 경우도 있어서 상당히 큰 혼란을 야기한다. 1.1 도메인 주도 설계에서 말하는 서비스 크게 두가지로 나뉜다. 첫 번째 도메인을 위한 서비스.. 2022. 1. 29. 이전 1 ··· 4 5 6 7 8 9 10 ··· 13 다음 728x90 반응형