반응형

SW 개발 일반/SW 디자인 2

Cross-cutting 문제

앱을 개발하다 보면 앱 개발에 몰입하여 앱의 범위를 넘어서는 문제를 지각하지 못하는 경우가 있습니다. 시각을 조금만 넓게 가져가면 서로 다른 앱 간에 유사한 문제를 해결하려고 하는 경우가 보입니다. 이러한 문제를 Cross-cutting Concern(횡단 관심사)라고 합니다. 멋있는 단어입니다. 근사하지만 결국 중복에 관한 문제입니다. 횡단으로 중복이 발생했다는 것입니다.  이러한 문제를 효과적으로 관리하지 못하면 유지보수성이 떨어지고 개발 생산성이 저하될 수 있습니다. 특히, 앱 개발에서는 동일한 기능이 여러 곳에서 중복 구현되는 경우가 많아 이런 문제를 해결하는 것이 더욱 중요합니다. 결과적으로 플랫폼이 이런 부분을 담당해야 하고 플랫폼이 이 부분을 흡수하는 만큼 앱 개발자는 할 일이 줄어 앱 개발..

현실 세계를 반영하는 소프트웨어 설계 원칙

소프트웨어 개발에서 가장 중요한 목표 중 하나는 예측 가능성과 유지보수성을 확보하는 것입니다. 이를 위해 가장 중요한 원칙은 각 도메인 개념이 소프트웨어 엔터티와 1:1로 대응되어야 한다는 것입니다. 이 원칙은 객체지향 프로그래밍(OOP), 도메인 주도 설계(DDD), 그리고 클린 코드 접근법에서도 동일하게 적용됩니다.1. 현실 세계를 반영하는 1:1 매핑 원칙소프트웨어는 현실을 그대로 반영해야 합니다. 현실 세계에 존재하는 개념이 소프트웨어에서도 하나의 모델로 존재해야 하며, 여러 개의 객체나 시스템에 분산되어서는 안 됩니다. 예를 들어:현실에서 자동차(Car)가 존재한다면, 소프트웨어에서도 Car 클래스가 있어야 합니다.직원(Employee)이 있고, 그 직원이 월급과 직책을 가진다면, 이 속성들은 ..

반응형