본문 바로가기
728x90
반응형

분류 전체보기281

C#] SOLID 원칙 1. Single Responsibility Principle (SRP 원칙) project 개발 시, 우리는 유지보수가 용이하고 가독성있는 코드를 작성하려고 한다. 이를 위해서, 모든 class들은 각자 임무가 있어야 하고 잘 동작해야 한다. class가 하나 이상의 임무를 갖지 않는 것은 매우 중요하다. 그렇지 않으면 유지보수가 어려워진다. SRP를 위반하는 코드 작성 뒤, 리팩토링 해보자. Console Project 생성 간단한 model class를 만들자. public class WorkReportEntry { public string ProjectCode { get; set; } public string ProjectName { get; set; } public int SpentHours { get; set; } } project를 다루는 class를 추가하자. pub.. 2024. 1. 26.
C#] SOLID 원칙 2. Open Closed Principle (OCP 원칙) Open Closed Principle (OCP)는 software entities (classes 또는 methods)는 extension에 open되고 modification에 closed해야 한다는 원칙이다. 기본적으로, 코드가 변경이 필요하지 않도록 작성하려고 한다. 추가 고객 요청을 처리하기 위해 class를 수정하는 것이 아닌, class의 동작을 확장할 수 있다. 두 예를 통해서 OCP에 맞게 코드를 작성하는 방법을 살펴보자. 처음엔 OCP를 따르지 않게 작성하고, 이후에 OCP에 맞게 리팩토링하자. 월급 계산기 예 한 회사의 모든 개발자 월급의 총합을 계산하는 일을 해야한다. 우선, model class를 생성한다. public class DeveloperReport { public int.. 2024. 1. 23.
C#] Virtual Method virtual method의 정의, 구현방법, 사용, 장단점에 대해 살펴보자. Virtual method란? object-oriented programming의 기존 개념이다. derived class에서 동일한 signature의 method로 override되는 것을 허용한다. overriding은 선택사항이며, derived class는 base class의 기능을 그대로 사용할 수 있다. Method는 기본으로 non-virtual하며, override될 수 없다. method의 return type앞에 virtual 키워드를 추가하므로 virtual method로 선언할 수 있다. virtual은 return type을 갖을 수도 없을 수도 있다. public virtual double Calc.. 2024. 1. 23.
C#] const vs readonly 차이점 C#에서 const와 readonly는 immutable values를 선언할 수 있게 한다. Const const선언은 소스코드에만 존재하고, compiled output에는 없다. const reference는 실제 값으로 대체된다. const property와 몇가지 예를 살펴보자. Access Modifiers와 Types string과 bool, int, float과 같은 primitive type, enum. public class CircleCalculator { public const double E = 2.71; private const double Pi = 3.14; public double GetCircumference(double radius) => 2 * Pi * radius; p.. 2024. 1. 19.
C#] File - 사용 중인 파일 확인 방법 (IOException, HResult) 파일작업은 흔하게 하는 작업이며, 몇몇 경우에 특정 에러를 발생한다. 이미 사용중인 파일에 대해 살펴보고, 에러를 피할 수 있는 방법을 살펴보자. C# 파일작업 일반적으로 파일작업은 읽기, 쓰기, 파일 조작들의 동작이 관련되어 있다. 파일작업을 할 때, 여러 작업 또는 앱에서 동시에 같은 파일에 접근을 시도할 수 있다는 것을 알아야한다. 이러한 동시 접근은 충돌과 에러를 발생한다. 다음과 같은 여러 이유로 발생한다. 다른 앱에서 동시에 파일을 읽거나 쓰고 있을 때 파일을 열었다가 적절히 닫지 않았을 때 돌고있는 시스템이나 바이러스 프로그램에 의해 파일이 잡혀 있을 때 어떻게 이러한 오류를 줄이고 피할 수 있는지 알아보자. Project 세팅 .NET CLI를 사용하여 console app을 생성하자. 에.. 2024. 1. 18.
C#] 식별자/변수명 네이밍 규칙, convention identifier(식별자)란? type(class, interface, struct, delegate, enum) type명, 변수명, member명, namespace명이다. 네이밍 규칙 identifier는 반드시 아래 규칙을 따라야 한다. 아래 규칙을 따르지 않으면 C# compiler가 error를 발생한다. Identifier는 반드시 문자 또는 밑줄선(_)으로 시작한다. if라는 이름의 식별자를 선언하려면 @prefix를 붙여서 @if 로 선언하면 된다. 네이밍 conventions 규칙에 더해, identifier conventions이 .NET API 전체에 사용된다. 이 conventions은 compiler가 강제하지 않더라도, name의 일관성을 제공한다. 다르게 사용해도 무방하다... 2024. 1. 12.
728x90
반응형