| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- mcp client
- MCP
- PHP객체지향
- SQL
- Tool Calling
- 객체복제
- 데이터베이스
- 어댑터패턴
- ai agent
- SQL기초
- 소프트웨어설계
- 객체지향
- Agent Loop
- PHP
- mcp server
- OOP
- MySQL
- Laravel
- SQL문법
- linux 권한
- LLM
- 매직메서드
- 라라벨
- docker network
- 디자인패턴
- dhgrp
- docker
- ai 에이전트
- 인덱스
- 데코레이터패턴
- Today
- Total
목록solid (2)
개발블로그
왜 SOLID 원칙이 필요할까? 객체지향으로 코드를 작성한다고 해서 자동으로 좋은 설계가 되는 것은 아님. 클래스를 나누었지만 하나의 클래스가 너무 많은 일을 할 수 있고, 기능을 하나 추가할 때마다 기존 코드를 계속 수정해야 할 수도 있다. 또한 상속을 사용했지만 자식 클래스가 부모 클래스처럼 동작하지 않아 예상치 못한 오류가 생길 수도 있다. 즉, 객체지향의 핵심은 단순히 클래스를 사용하는 것이 아니라 변경에 강하고 이해하기 쉬운 구조를 만드는 것 5가지 기준 원칙이름핵심 질문SRP단일 책임 원칙이 클래스가 바뀌는 이유가 하나인가?OCP개방-폐쇄 원칙기능 추가 때 기존 코드를 계속 수정해야 하는가?LSP리스코프 치환 원칙자식 객체를 부모 객체처럼 사용해도 문제가 없는가?ISP인터페이스 분리 원칙사..
코드는 왜 점점 관리하기 어려워질까? 처음 프로그램을 만들 때는 코드가 단순하다. 변수 몇 개를 만들고, 함수를 호출하고, 조건문과 반복문으로 흐름을 제어하면 된다. 하지만 기능이 조금씩 추가되면 문제가 생긴다. 문제는 데이터와 규칙이 코드 곳곳에 흩어지기 시직함특정 데이터가 어디서 변경되는지 찾기 어렵다같은 규칙이 여러 곳에 중복된다한 곳을 수정했는데 예상하지 못한 다른 기능이 깨진다새로운 기능을 추가할수록 기존 코드를 건드리는 일이 많아진다결국 코드가 어려워지는 이유는 단순히 줄 수가 많아져서가 아니라데이터와 그 데이터를 다루는 규칙이 흩어지고, 변경의 영향 범위를 예측하기 어려워지기 때문 객체지향은 이 문제를 어떻게 바라볼까? 관련된 데이터와 동작을 하나의 객체 안에 모으면 어떨까? 관련된 데..