많은 달이 있기 전에 나는 객체 지향 소프트웨어 엔지니어링에서 석사 학위를 받았습니다. 프로젝트 시작, 요구 사항, 분석, 설계, 아키텍처, 개발 등 모든 것을 다루었습니다. 제가 가장 좋아하는 IT 책은 객체 지향 소프트웨어 개발, 경험 기반 접근 방식 (IBM-1996)이었습니다. 당시의 진정한 전문가 그룹이 만든 책. 객체 지향 분석, 설계 및 개발 방법에 대한 제품 중심의 접근 방식을 설명합니다.
나는 게임을 디자인하고 개발했고 행복했고 내 게임의 맨 위에 있었지만 조금 어려워지기 시작했습니다. 민첩한 움직임이 오늘날의 유행이되었으며 새로운 힙 단어로 잘 알려진 반복적이고 점진적인 접근 방식으로 브랜드를 변경했습니다. 갑자기 경험이 부족한 개발자들은 마치 "요구 사항"또는 "아키텍처"라고 말했을 때 찌르기 시작했습니다. 마치 이런 것들이 마술로 대체되었습니다.
디자인과 개발은 재미를 잃어 버렸고 IT 산업 전체를 떠나게되었습니다.
그런 다음 스칼라를 발견했습니다. 먼지가 많은 길의 부드러운 비처럼 모든 것이 깨끗 해졌고, 공기가 다시 달콤 해졌고, 하드 드라이브의 작은 빛이 밤새 깊숙이 깜빡 거리면서 회사를 저의 발견의 세계로 즐겁게 만들었습니다.
나는 시스템 디자인을 좋아한다. 저는 프로그래머가 아닌 건축가입니다. 나는 분석, 디자인, 사고, 논쟁, 개선을 좋아합니다. 저는 단순하고 깨끗하며 선명한 디자인을 좋아합니다.
순수한 스칼라 솔루션은 어떻게 설계합니까?
명백한 종래의 시퀀스 다이어그램, 상호 작용 다이어그램, 객체 다이어그램 등은 명령형 및 기능적 객체 지향 시스템을 혼합하기 위해 모두 대체되거나 개선 될 수있다. 분명히 완전히 다른 무언가를위한 오프닝이 있습니다!
나는 부풀어 오른 복잡성을 찾고 있지 않습니다-나는 유연한 단순성을 찾고 있습니다. 스칼라처럼 실제로는 간단하고 쉽지만 (다르기는하지만) 요가 바지처럼 요구 사항에 맞게 확장 할 수 있습니다. 이 멋진 언어를위한 디자인 시스템이 단순하게 시작해야하며 요구 사항과 도메인에 맞게 확장 될 수 있습니다. 확실히 UML은 할 수 없습니다!
그렇다면 어떻게 순수 스칼라 시스템을 설계할까요? 잠시 동안 전체 시스템을 처음부터 새로 설계 할 수있는 고급 스러움을 느끼고 스칼라 만 사용할 것이라는 사실을 알고 있습니다. 모델의 모양은 어떻습니까? 구조와 행동을 설명하기 위해 어떤 유형의 다이어그램을 사용해야합니까? 새롭고 가벼우 며 혁신적인 도구 세트가 아닌 기존 모델링 기술을 확장하는 복잡성에 얽매이지 않고 옵션, 일치 항목, 믹스 인, 싱글 톤 개체 등을 모델링하는 방법
그러한 설계 / 프로세스 / 솔루션이 존재합니까 , 아니면 발명 할 때입니까?