전체 글

전체 글

    [클린소프트웨어#6] SOLID-리스코프 치환원칙(Liskov Substitution Principle)

    [클린소프트웨어#6] SOLID-리스코프 치환원칙(Liskov Substitution Principle)

    [클린소프트웨어#5] SOLID-개방 폐쇄 원칙(Open Closed Principle) [클린소프트웨어#4] SOLID-단일 책임 원칙(Single Responsibility Principle) # SOLID 올바른 객체지향설계와 애자일한 설계를 위해서는 Martin이 제안한 5가지의 원칙(SOLID)을 준수해야 한다. 그러면 우리는.. devforyou.tistory.com # SOLID SRP (Single Responsibility Principle) 단일 책임 원칙 OCP (Open Closed Principle) 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) 리스코프 치환 원칙 ISP (Interface Segregation Principle) 인터페이스 분리..

    [클린소프트웨어#5] SOLID-개방 폐쇄 원칙(Open Closed Principle)

    [클린소프트웨어#5] SOLID-개방 폐쇄 원칙(Open Closed Principle)

    [클린소프트웨어#4] SOLID-단일 책임 원칙(Single Responsibility Principle) # SOLID 올바른 객체지향설계와 애자일한 설계를 위해서는 Martin이 제안한 5가지의 원칙(SOLID)을 준수해야 한다. 그러면 우리는 변경에 유연한 소프트웨어를 만들 수 있다. 5가지의 원칙중 SRP 단일 devforyou.tistory.com # 사담 얼마전 카카오데이터센터에서 화재가 발생하여 카카오 연계 서비스들이 마비가 됐었다. 티스토리도 영향을 받아서 서비스가 원할하지 못했다. 특히 티스토리 스킨들도 사라지고 플러그인같은것도 사용을 못해서 [이전글]을 심을 수 없었다. 그리고 글을 작성하는 지금 시점에서 90%의 서비스들이 되돌아 온 것 같다. 티토리가 작동하지 않아서 구글링도 못했는..

    [클린소프트웨어#4] SOLID-단일 책임 원칙(Single Responsibility Principle)

    [클린소프트웨어#4] SOLID-단일 책임 원칙(Single Responsibility Principle)

    # SOLID 올바른 객체지향설계와 애자일한 설계를 위해서는 Martin이 제안한 5가지의 원칙(SOLID)을 준수해야 한다. 그러면 우리는 변경에 유연한 소프트웨어를 만들 수 있다. 5가지의 원칙중 SRP 단일 책임 원칙에 대해서 알아보자. SRP (Single Responsibility Principle) 단일 책임 원칙 OCP (Open Closed Principle) 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) 리스코프 치환 원칙 ISP (Interface Segregation Principle) 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) 의존 역전 원칙 # 시작하기 전 단일 책임 원칙은 5가지 원칙 중 이름만 보고 ..

    [클린소프트웨어#3] 애자일한(Agile)설계를 위한 방법과 7가지 부패한 특성

    [클린소프트웨어#3] 애자일한(Agile)설계를 위한 방법과 7가지 부패한 특성

    # 애자일(Agile)한 설계? 앞선 게시글에서 애자일과 애자일방법론중 하나인 XP에 대해서 살펴 봤다. 애자일 방법을 사용한다면 변경에 유연하고 빠르게 개발 하며 릴리즈할 수 있었다. 그렇다면 이러한 애자일방법을 사용하기 위해서 어떻게 설계를 해야하는 것일까? 즉, 변경에 유연하고 빠르게 개발하기 위해서는 우리는 어떤 걸 해야할까? 애자일 설계의 핵심은 결과가 아닌 과정이라는 것이다. 뒤에서 배우겠지만 SOLID원칙을 준수하면서 원칙,패턴을 적용하고 명료하고 표현적으로 소프트웨어를 유지하는 과정을 거친다면 자연스레 애자일한 결과가 나온다. 과정이 아닌 설계인 이유이다. 앞으로 다가올 변화에 대비하여 복잡한 코드를 짜지 않고, 현재 상황에서 짤 수 있는 최대한 간결한 코드를 짜야한다는 것을 명심하자. #..

    [클린소프트웨어#2] 익스트림프로그래밍(XP)에 대해서

    [클린소프트웨어#2] 익스트림프로그래밍(XP)에 대해서

    # 시작하며 앞선 게시글에서 애자일이 무엇인지에 대해서 정리했었다. 애자일은 방법론 중 하나이다. 애자일을 적용한 방법 중 익스트림프로그래밍(XP)라 불리우는 방법이 있다. 이를 통해서 애자일의 가치와 원칙들이 어떻게 적용되는지 구체적인 사례를 통해서 살펴보도록 하자. # 고객은 누구인가? 애자일방법론에 대해서 배우며 고객이라는 단어가 많이 등장했다. 고객에 요구사항에 맞게.. 고객의 변경되는 요구사항... 등등 고객은 우리를 힘들게 했다. 고객은 우리에게 소프트웨어 프로젝트를 맡긴 의뢰인인 것일까? 정답은 맞긴 맞는데 그뿐만은 아니다라는 것이다. XP팀에서 고객은 기능요소를 정의하고 우선순위를 매기는 개인또는 그룹이다. 즉, 사내에서 같이 일하는 업무 분석가나 마케팅 전무가 그룹이 될 수 도있고, 사용..