All Pages
12. Singleton Pattern
12. Singleton Pattern
2025.04.181. 참고자료더보기✔️ Microsoft Docs: 디자인 패턴: 싱글톤 | Microsoft Learn 2. Singleton Pattern 개요더보기✔️ 핵심 개념클래스의 인스턴스를 오직 1개만 생성하도록 제한정적 메서드(Instance, GetInstance()) 를 통해 접근일반적으로 생성자를 private으로 제한하여 외부에서 직접 생성하지 못하게 함 🟢 장점:자원 낭비 방지 (ex: DB 연결, 설정 로딩 등)전역 상태 유지 (한번 생성된 인스턴스를 재사용)스레드 동기화로 안정성 향상 가능 🔴 단점:전역 상태 → 테스트 어려움의존성 주입(DI)과 충돌할 수 있음멀티스레드 환경에서는 구현 시 주의가 필요 3. Singleton 예제더보기📁 프로젝트 구조SingletonPatter..
11. IServiceProvider - Ioc(제어 반전)
11. IServiceProvider - Ioc(제어 반전)
2025.04.181. 출처 및 참고자료더보기✔️ Microsoft Docs: MVVM Toolkit IoC 관련 네임스페이스:using CommunityToolkit.Mvvm.DependencyInjection; 학습 목표 IoC를 사용한 구조와 사용하지 않은 구조를 단계별 비교한다.Service, ViewModel, App.xaml.cs, MainWindow.xaml을 모두 작성한다.최종적으로 WPF MVVM 프로젝트에서 IoC가 왜 중요한지 체험한다. 2. 기능명: Ioc.Default, IServiceProvider더보기✔️ Inversion of Control (제어의 역전)란?객체의 생성과 관계 설정을 개발자가 직접 하지 않고, IoC 컨테이너가 대신 처리함IoC를 통해, 객체 생성을 프레임워크에 위임하여 의..
03.3 INotifyPropertyChanged
03.3 INotifyPropertyChanged
2025.04.181️⃣ INotifyPropertyChanged더보기 📚 Microsoft Learn / Learn / .NET / MVVM ✅ [INotifyPropertyChanged] 개요 클래스에 INotifyPropertyChanged 인터페이스를 자동 구현하게 해주는 '어트리뷰트' 입니다.INotifyPropertyChanged 인터페이스와 다릅니다. ✅ [INotifyPropertyChanged] 사용 예시[INotifyPropertyChanged]public partial class MyViewModel{ public string Name { get; set; }} ✅ [ObservableProperty] 비교public partial class MyViewModel : ObservableO..
03.2 ObservableValidator
03.2 ObservableValidator
2025.04.181. 출처 및 참고자료더보기✔️ Microsoft Docs: ObservableValidator (공식문서) ObservableValidator는 INotifyDataErrorInfo를 구현하는 MVVM용 ViewModel 베이스 클래스입니다.이 클래스를 상속하고 .ValidateAllProperties() 또는 .ValidateProperty() 메서드를 호출하면, 속성의 데이터 유효성 검사가 자동으로 수행되며, View에서 실시간으로 오류 메시지를 수신할 수 있습니다. 관련 어노테이션: [ObservableProperty], [Required], [MinLength], [MaxLength], [EmailAddress] 등 2. 기능명 or 기능 개요더보기✔️ 작동 방식ObservableObject..
03.1 ObservableObject
03.1 ObservableObject
2025.04.181️⃣ ObservableProperty 개요더보기 📚 Microsoft Docs: Microsoft CommunityToolkit MVVM - ObservableObject ✅ ObservableProperty 개요ObservableObject는 MVVM Toolkit에서 제공하는 MVVM의 핵심 클래스입니다.ObservableObject는 INotifyPropertyChanged, INotifyPropertyChanging 인터페이스가 구현되어 있습니다.즉, MVVM 구조에서 Observable하지 않은 기존 객체를 MVVM에 통합하는 핵심 기술입니다. ✅ ObservableProperty 사용법ㅇ ✅ 예제 소스 코드 2️⃣ 비교 ( 전통적 구현 vs ObservableObject vs..
5. 인터페이스와 추상 클래스
5. 인터페이스와 추상 클래스
2025.04.02
1. 프로그래밍 학습 관점
1. 프로그래밍 학습 관점
2025.03.301. 목적→ "프로그래밍 언어"와 "개발 기술"은 프로그램을 만들기 위한 것입니다.더보기프로그래밍은 학생, 초보자, 신입를 고려한 교육과 학문의 영역이 아닙니다. "프로그래밍"은 '프로그램'을 만들기 위해 등장했습니다.그리고 좀 더 효율적으로 프로그램을 만들기 위해, 기술을 개선하고, 새로운 기술이 등장합니다. 여러분이 배워야 할 프로그래밍 기술은 "현장의 개발자"를 위한 참고자료 입니다.안타깝지만, 프로그래밍은 여러분이 접하는 모든 프로그래밍 자료는 초보자를 위한 것이 아닙니다. 2. 을 만들어야 합니다.→ 이론 학습 >> 실습 >> 체득더보기- 프로그래밍 문법은, 실제 프로그램을 만드는 방법이 아닙니다. 영어 문법만 열심히 공부했다고 해서, 영어 소설을 쓰고, 영어 에세이를 쓰고, 영어 연설을..
12. Command - CanExecute
12. Command - CanExecute
2025.03.281. View (1단계) 더보기 Title="ICommand Example" Height="100" Width="300"> 2. ViewModel (1단계)더보기public class MainViewModel{ // // 사용자로부터 입력받은 텍스트를 저장하는 프로퍼티입니다. // private string _inputText; public string InputText { get => _inputText; ..
11. Command
11. Command
2025.03.2801. Command 이론더보기01.1 ICommand 사용 방법 (1) ViewModel 에 ICommand 구현체를 만들고, 원하는 '메서드'를 등록합니다.MyCommand cmd = new MyCommand(메서드);(2) View에 ICommand 구현체인 cmd를 바인딩 합니다. 01.2 ICommand- 목적: XAML 코드 비하인드가 아닌, 별도의 ViewModel 클래스 파일에서 로직 함수를 구현합니다.- 방법: ICommand 인터페이스의 Execute( ) 함수의 구현부에, 이벤트 핸들러 로직을 구현해 대신 사용할 수 있습니다. 01.3 ICommandICommand는 WPF 컨트롤의 Command 속성에 Binding 하기 위해 사용합니다.위순서도는 ICommand의 동..
10. DataContext
10. DataContext
2025.03.271. DataContext 사전 학습 더보기1) DataBinding, 2) SOLID 를 학습했다는 가정하에 진행합니다. 2. DataContext 실습 예제더보기이전 DataBinding 예제를 사용합니다. 3. OOP 구조더보기1. 목적 가장 먼저, OOP(객체 지향 프로그래밍 언어)의 객체간 구조에 대해 이해하고 진행합니다. 2. 모든 프로그램의 시작점 C# WPF Main( ) 함수는 어디에 있을까요?모든 프로그램의 시작은, Main( ) 함수입니다. 3. OOP란? >> 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(object)'라는 기본 단위로 나누고 이들의 상호 작용으로 서술하는 방식이다. *객체(object)는 Class 라는 자..
4. Data Binding 예제
4. Data Binding 예제
2025.03.221. 예제 파일 준비더보기이전 포스트에서 작업했다면, 아래 파일은 필요 없습니다.2. Two Way 더보기1. 개념 1. Two Way 데이터 바인딩이란?[ C# 소스코드→ XAML UI ], [ XAML UI → C# 소스코드 ] 양방향으로 할당(수정) 가능한 설정이다. 2. Data Binding. 데이터 바인딩.>> Data를 UI와 묶는다.>> Data(원본), UI(복사본, 원본에 종속된 상태)>> 원본을 변경하면, 복사본이 변경된다.>> 복사본을 변경하면, 원본이 변경된다. 2. Two Way 데이터 바인딩 구현 3. Two Way (C# 소스코드에서 UI로, UI에서 C# 소스코드)로 데이터 바인딩 3. One Way더보기1. 개념 1. One Way 데이터 바인딩이란?데이터의 ..
3. Data Binding 개요
3. Data Binding 개요
2025.03.221. 목표더보기1.- 우선 MVVM 패턴을 고려하지 않고, DataBinding 개념과 사용법 자체에 집중하고, 이후 추가적인 개념으로 확장합니다.- DataBinding 에서 TwoWay, OneWay 개념을 먼저 이해합니다. 2. 참고1Data Binding C# 소스코드 → XAML UI(원본 → 복사본) XAML UI → C# 소스코드(복사본 → 원본)TwoWayOOOneWayOXOneWayToSourceXOOneTimeO X 3. 참고2 2. UI 준비더보기1. 기본 XAML UI 틀을 가진 프로젝트를 다운받아 실행합니다. 2. 새 WPF 프로젝트에서 "아래 XAML 소스"를 사용하셔도 됩니다. Title="Data Binding" Height="150" Width="265"..