카테고리 Codes

오류를 다루는 방법들. Exception, Logging, Debug.Assert

Debug.Assert, 예외 처리(exception handling), 그리고 로깅(logging)은 모두 프로그램의 오류를 다루는 방법이지만, 사용 목적과 적용 시점이 다릅니다. Debug.Assert Debug.Assert는 개발자가 코드의 불변성(invariants)을 가정하는 부분에서 사용합니다. 주로 디버그 모드에서만 활성화되며, 릴리스 모드에서는 제거되어 성능에 영향을 주지 않습니다. Debug.Assert는 “이것은 절대 발생하지 않아야…

Debug.Assert in C#

C#에서 Assert는 코드 내의 조건을 런타임에 테스트하는 데 사용됩니다. 이는 코드가 개발 중에 예상대로 작동하는지 확인하는 방법입니다.

Day 13 – Fizz Buzz

Fizz Buzz 게임을 통해 %연산과 문자열을 다루는 기본 논리에 대해 배울 수 있습니다. 또한 루프와 조건을 사용하여 복잡한 문제를 해결할 수 있는 방법에 대해 공부하세요.

Day 12 – Template Pattern

The Template Method Design Pattern is a behavioral pattern that defines the skeleton of an algorithm in a base class and allows subclasses to override specific steps without changing the overall algorithm’s structure. Let’s dive into an example to understand it better.

Day 11 – Factory Method Pattern

The Factory Method Design Pattern is a creational pattern that allows objects to be created without tightly coupling the object creation code to the client code. It defines an interface for creating objects in a superclass but lets subclasses decide which class to instantiate.

Day 10 – Decorator Pattern

Decorator Pattern is a structural design pattern that allows you to dynamically add new functionality to an object without altering its structure. It provides a flexible way to extend the behavior of existing classes without modifying them directly.

Day 9 – Adapter Pattern

The Adapter Pattern is a structural design pattern that allows objects with incompatible interfaces to work together. It acts as a bridge between two incompatible interfaces.

Day 8 – Observer Pattern

관찰자 패턴은 객체 간의 일대다 종속성을 정의합니다. 이 패턴을 사용하면 한 개체의 상태가 변경되면 해당 개체에 종속된 다른 모든 개체에 자동으로 알림이 전달되고 업데이트됩니다. 이 패턴은 분산 이벤트 처리 시스템을 구현할 때 널리 사용됩니다. 구성 요소 관찰자 패턴에는 다음과 같은…

Day 7 – Prototype Pattern

The Prototype pattern is a generative design pattern used to create new objects by cloning existing objects when creating the object is expensive or complex. In C#, you can implement this pattern through the ICloneable interface.