안녕하세요 독자 여러분, 오늘은 개발자 시리즈에 글을 쓸 예정입니다. 프로그래밍의 종류와 무언가를 프로그래밍하기 위해 적용해야 할 접근 방식에 대해 글을 쓸 것입니다. 이 글을 읽으면 대규모 프로젝트를 위해 코드가 어떻게 작성되고 수집되고 관리되는지 알게 될 것입니다.
다양한 요소에 따라 다양한 접근 방식이 있습니다.
절차적 접근 방식 대 객체 지향 접근 방식
절차적 접근 방식
이는 프로시저라고 불리는 특정 순서에 따라 코드를 작성하는 것을 기반으로 합니다. 이러한 코딩 스타일은 발생할 수 있는 일을 단계별로 작성해야 하기 때문입니다. 학생의 예를 들어보겠습니다. 먼저 다음과 같은 변수를 정의합니다. 학생 이름 & 롤_노 학생을 위해. 우리는 먼저 이것을 선언하고, 그런 다음 함수를 만들고, 그런 다음 또 다른 함수를 만들고 단계별로 진행합니다. 프로그래밍의 시작부터 시작된 오래된 접근 방식입니다.
우리는 단계별로 실행해야 할 지침 목록이 필요합니다. 모든 것이 명확하게 정리되어 있는 소규모 일회성 프로젝트에 좋습니다. 은행 관리 시스템에서 사용자를 만든 다음 계정을 만들고 비용을 처리하고 그 다음 단계를 거쳐 다른 작업을 합니다.
객체 지향 접근 방식
이 접근 방식에서 우리는 실제 세계 모델을 따르고 객체와 클래스로 프로그래밍에 매핑합니다. 객체는 속성과 동작을 가진 모든 것으로 호출할 수 있습니다. 예를 들어 사과는 과일이고 빨간색입니다. 또 다른 하나는 학생 롤 번호와 학교는 속성이고 공부는 동작입니다. 이 방법은 실제 모델에 완전히 의존하고 쉽게 프로그램으로 변환할 수 있으므로 프로그래밍을 쉽게 만듭니다. 우리는 객체를 클래스로 그룹화하여 사용합니다. 클래스는 동일한 유형의 객체 모음입니다. 예를 들어 학교 수업에는 학생과 교사가 객체로 있을 수 있습니다.
여기서 우리는 시작할 때 완전한 세부 정보를 가질 필요는 없지만, 개발의 여러 단계에 포함할 수 있습니다. 은행 관리 시스템의 예를 들어, 우리는 이름, 휴대전화, 전화번호와 같은 세부 정보와 계정 생성, 현금 인출, 현금 입금과 같은 행동을 가진 계정을 가진 고객으로 객체를 만듭니다. 이렇게 하면 변경이 더 쉬워지고 실제 세계에서 발생하는 변경 사항에 따라 시간에 따라 변경할 수 있습니다.
탑다운과 바텀업 접근 방식
탑다운 접근 방식
단계적 설계라고도 알려진 이 설계는 본질적으로 역공학 방식으로 구성 하위 시스템에 대한 통찰력을 얻기 위해 시스템을 분해하는 것입니다. 상향식 접근 방식에서 시스템 개요가 공식화되고, 1차 하위 시스템은 지정하지만 자세히 설명하지는 않습니다. 그런 다음 각 하위 시스템은 더 자세히, 때로는 여러 추가 하위 시스템 수준에서 세분화되어 전체 사양이 기본 요소로 축소될 때까지 정제됩니다.
탑다운 방식은 큰 그림에서 시작합니다. 거기서 더 작은 세그먼트로 나뉩니다. 기본은 모델을 가져와 작업한 다음 점점 더 작은 변경 사항을 수정하여 완벽하게 만드는 것입니다. 탑다운 방식은 집을 만들 때 먼저 기둥과 벽을 연결하여 건물을 만든 다음 시멘트를 바르고 색칠한 다음 문을 여는 것과 같습니다. 마찬가지로 먼저 큰 것을 만드는 작업을 한 다음 완성을 위해 더 작은 변경 사항을 적용합니다.
하향식 접근 방식
더 복잡한 시스템을 만들어 내기 위해 시스템을 조각조각 모으는 것으로, 원래 시스템을 새로운 시스템의 하위 시스템으로 만듭니다. 하향식 처리란 환경으로부터 들어오는 데이터를 기반으로 인식을 형성하는 정보 처리 유형입니다. 하향식 접근 방식에서는 시스템의 개별 기본 요소를 먼저 매우 자세히 지정합니다. 그런 다음 이러한 요소를 연결하여 더 큰 하위 시스템을 형성한 다음, 다시 여러 수준에서 연결하여 완전한 최상위 시스템이 형성될 때까지 연결합니다.
이 전략은 종종 “씨앗” 모델과 유사한데, 시작은 작지만 결국 복잡성과 완전성이 커집니다. 이 모델은 작은 시스템이 있을 때 유용하며, 그런 다음 결합하여 하나의 큰 시스템으로 만듭니다. 자동차처럼 타이어, 차체, 문, 바퀴를 만들고 이를 결합하여 하나의 작동하는 자동차를 만듭니다. 마찬가지로 여러 개의 작은 관련 시스템이 있을 때 이 접근 방식을 사용하여 단일 시스템을 만들 수 있습니다.
이벤트 주도 접근 방식
이벤트 기반 프로그래밍
이는 사용자 동작(마우스 클릭, 키 누름), 센서 출력 또는 다른 프로그램/스레드에서 온 메시지와 같은 이벤트에 의해 프로그램의 흐름이 결정되는 프로그래밍 패러다임입니다. 이벤트 기반 프로그래밍은 사용자 입력에 대한 응답으로 특정 동작을 수행하는 데 중점을 둔 그래픽 사용자 인터페이스 및 기타 애플리케이션(예: JavaScript 웹 애플리케이션)에서 사용되는 주요 패러다임입니다. 이는 장치 드라이버 프로그래밍에도 해당합니다.
이벤트 기반 애플리케이션에서는 일반적으로 이벤트를 수신하고 해당 이벤트 중 하나가 감지되면 콜백 함수를 트리거하는 메인 루프가 있습니다. 임베디드 시스템에서는 지속적으로 실행되는 메인 루프 대신 하드웨어 인터럽트를 사용하여 동일한 작업을 수행할 수 있습니다. 예를 들어 신호등 시스템, 전자 주차 시스템 등이 이벤트에 따라 무언가를 수행합니다.
분산 프로그래밍 접근 방식
분산 프로그래밍
이는 네트워크와 서버를 사용하여 서로 다른 장소를 연결해야 하는 네트워킹을 기반으로 합니다. 간단한 예로 모든 지점 정보를 포함하는 중앙 시스템과 은행 정보를 포함하는 지역 시스템이 있는 은행 시스템이 있습니다. 이 접근 방식은 분산 시스템을 만드는 것을 기반으로 합니다. 분산 시스템은 네트워크 장치를 사용하여 서로 다른 시스템을 연결하는 시스템입니다. 실시간으로 한 곳에서 수집할 수 없는 대규모 정보가 있으므로 다르게 분산하고 처리하는 것이 좋습니다. 따라서 이 접근 방식은 이러한 시스템을 위한 것입니다.
기본적으로, 우리는 오늘날 단순한 프로젝트에 객체 지향 접근법을 더 많이 따릅니다. 클라우드와 정보 서비스의 경우 분산 프로그래밍을 사용합니다. 그리고 교통 시스템, 비상 시스템과 같은 시스템에서는 이벤트 기반 접근법을 사용합니다.
지금은 여기까지입니다. 개발자 카테고리에 더 많은 게시물을 올릴 예정입니다. 더 많은 업데이트를 위해 계속 연락해 주세요. 아래의 댓글에 좋아요를 누르고, 댓글을 달고, 의견을 공유해 주세요. 친구, 가족, 친척과 공유하여 정보를 퍼뜨려 보세요.