일반적인 문제 경영정보시스템 코드설계에서 코딩의 목적은 무엇인가?

경영정보시스템 코드설계에서 코딩의 목적은 무엇인가?

Aug 28, 2020 pm 02:16 PM
코딩

코딩의 목적은 독특함, 표준화, 체계화입니다. 코드는 다양한 객관적 개체를 표현하기 위해 숫자나 문자를 사용합니다. 시스템 개발 과정에서 코드를 설계하는 목적은 고유성, 표준화, 체계화입니다.

경영정보시스템 코드설계에서 코딩의 목적은 무엇인가?

코드는 다양한 객관적 개체를 나타내기 위해 사용됩니다.

1. 표준화;

코드 디자인의 6가지 원칙

단일 책임 원칙

정의: 클래스나 인터페이스는 단 하나의 책임만을 담당하는 것이 가장 좋습니다. 문제의 원인: 클래스 T는 두 가지 다른 책임 P1과 P2를 담당합니다. 책임 P1을 변경하고 T 클래스를 수정해야 하기 때문에 원래 정상적으로 실행되던 책임 P2의 기능이 오작동할 수 있습니다.

해결책: 단일 책임 원칙을 따르세요. 해당 책임에 해당하는 새 클래스를 생성하세요. 이렇게 하면 클래스 수정이 다른 책임에 영향을 미치는 것을 피할 수 있습니다.

책임이 급증할 때 논리가 충분히 단순한 경우에만 코드 수준에서 단일 단위를 위반할 수 있습니다. 책임 원칙은 클래스의 메서드 수가 충분히 작은 경우에만 메서드 수준에서 단일 책임 원칙을 위반할 수 있습니다.

이점: 클래스의 복잡성이 줄어들고 가독성이 크게 향상됩니다. 유지보수성도 향상됩니다.

Liskov 대체 원칙

기본 클래스가 사용되는 경우 해당 하위 클래스를 임의로 사용하여 하위 클래스가 기본 클래스를 완벽하게 대체할 수 있도록 할 수 있습니다. 이 정신은 실제로 상속 메커니즘의 제약 조건과 사양을 구현한 것입니다. 상위 클래스 및 하위 클래스의 특정 구현에서 상속 계층의 관계 특성은 기본 클래스를 하위 클래스로 대체할 때 프로그램 동작이 문제를 일으키지 않고 정상적으로 계속될 수 있도록 엄격하게 제어됩니다. 상속의 경우 상위 클래스는 일련의 사양과 계약을 정의합니다. 모든 하위 클래스가 준수해야 하는 것은 아니지만 하위 클래스가 이러한 비추상적 메서드를 임의로 수정하면 전체 상속 시스템에 손상을 줄 수 있습니다.

부모 클래스의 메서드를 다시 작성해야 하는 경우 더 일반적인 방법은 원래 부모 클래스와 하위 클래스가 모두 더 인기 있는 기본 클래스를 상속하고 원래 상속 관계를 제거하고 종속성, 집계, 조합 및 기타를 사용하는 것입니다. 관계 대체;

원칙에는 다음과 같은 네 가지 의미 수준이 포함됩니다.

* 하위 클래스는 상위 클래스의 추상 메서드를 구현할 수 있지만 상위 클래스의 비추상 메서드를 재정의할 수는 없습니다.

* 하위 클래스 메서드가 상위 클래스 메서드를 재정의하는 경우 메서드의 형식 매개변수는 상위 클래스 메서드의 입력 매개변수보다 더 완화됩니다.

* 하위 클래스 메서드가 상위 클래스의 추상 메서드를 구현하는 경우 , 메소드의 반환 값은 상위 클래스보다 더 엄격합니다.

종속 반전 원칙

정의: 상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존해서는 안 됩니다. 세부 사항은 추상화에 의존해야 하며 그 핵심은 추상화에 의존하는 것입니다.

문제의 원인: 클래스 A는 클래스 B에 직접적으로 의존합니다. 클래스 A를 클래스 C에 의존하도록 변경하려면 다음을 수행해야 합니다. 클래스 A의 코드를 수정합니다. 이 시나리오에서 클래스 A는 일반적으로 복잡한 비즈니스 로직을 담당하는 상위 수준 모듈이고, 클래스 B는 클래스 A가 수정되는 경우 하위 수준 모듈입니다. 이는 프로그램에 불필요한 위험을 가져올 것입니다. 해결 방법: 클래스 A를 수정하여 인터페이스 I에 의존합니다. 클래스 B와 클래스 C는 각각 인터페이스 I을 구현합니다. 클래스 A는 인터페이스 I를 통해 클래스 B와 클래스 C에 간접적으로 연결하므로 클래스 A를 수정할 가능성이 줄어듭니다. , 일반적으로 다음 세 가지 작업을 수행해야 합니다.

* 하위 수준 모듈에는 추상 클래스나 인터페이스, 또는 둘 다 있어야 합니다.

* 선언된 변수 유형은 가능한 한 추상 클래스나 인터페이스여야 합니다.

* 상속을 사용할 때는 Liskov 대체 원칙을 따르세요.

인터페이스 분리 원칙

정의: 클라이언트는 필요하지 않은 인터페이스에 의존해서는 안 됩니다. 한 클래스의 다른 클래스 의존성은 가장 작은 인터페이스를 기반으로 해야 합니다. 인터페이스 오염을 유발합니다. 클래스 A는 인터페이스 I을 통해 클래스 B에 종속되고 클래스 C는 인터페이스 I을 통해 클래스 D에 종속됩니다. 인터페이스 I가 클래스 A와 클래스 B의 최소 인터페이스가 아닌 경우 클래스 B와 클래스 D는 이를 구현해야 합니다.

원칙의 의미는 다음과 같습니다. 단일 인터페이스를 구축하고, 거대하고 비대한 인터페이스를 구축하지 말고, 인터페이스를 개선하고, 인터페이스에 가능한 적은 메소드를 사용하도록 노력하십시오. 즉, 각 클래스마다 전용 인터페이스를 설정해야 합니다. 이를 사용하여 호출하는 모든 클래스에 대해 거대한 인터페이스를 구축하려고 하지 마세요.

인터페이스는 가능한 한 작아야 합니다. 인터페이스를 개선하면 프로그래밍 유연성이 향상될 수 있지만 너무 작으면 인터페이스 수가 최소화되어 설계가 복잡해집니다. 따라서 인터페이스에 의존하는 클래스에 대해 서비스를 맞춤화하고, 호출 클래스에 필요한 메서드만 노출하고, 필요하지 않은 메서드는 숨기도록 하세요.

규칙:

* 인터페이스는 하나만 제공합니다. 하위 모듈 또는 비즈니스 로직, 서비스 사용자 정의

* 비즈니스 로직을 통해 인터페이스의 공개 메소드를 압축하여 인터페이스를 더욱 간소화합니다.

* 오염된 인터페이스를 최대한 수정하세요. 변경 위험이 너무 크면 변환을 위해 어댑터 모드를 사용하세요.

* 특정 비즈니스에 따라 로직을 깊이 이해하고 디자인 아이디어를 마음으로 제어하세요.

인터페이스 격리를 구현하는 방법에는 두 가지 주요 방법이 있습니다.

1. 위임 분리는 고객의 요청을 위임하기 위한 새로운 인터페이스 유형을 추가하여 고객과 인터페이스의 직접적인 종속성을 분리합니다.

2. 다중 상속 분리, 인터페이스의 다중 상속을 통해 고객 요구 실현

Dimit의 법칙

정의: 객체의 핵심 정신은 다음과 같습니다. 일반인의 관점에서 낯선 사람과 대화하지 마십시오. 이는 객체가 호출을 위해 결합 및 연관되어야 하는 클래스에 대해 더 적게 알아야 함을 의미합니다. 이는 클래스 간의 결합 정도를 감소시키며 각 클래스는 시도합니다. 다른 클래스에 대한 의존성을 줄이기 위해.

합성과 재사용의 원리

상속을 사용하는 대신 합성/집합을 최대한 사용하는 것이 원칙입니다.

열기 및 닫기 원리

정의: 클래스, 템플릿 및 템플릿과 같은 소프트웨어 엔터티입니다.

해결책: 소프트웨어를 변경해야 하는 경우 기존 코드를 수정하는 대신 소프트웨어 엔터티의 동작을 확장하여 변경을 달성하도록 노력하세요.

  • 단일 책임 원칙: 구현 클래스

  • 리히터 대체 원칙: 상속 시스템을 파괴하지 마세요.

  • 종속성 반전 원칙: 인터페이스 지향 프로그래밍; 인터페이스 격리 원칙: 인터페이스를 설계할 때 단순해야 합니다.

  • Dimit 규칙: 결합을 줄입니다.
  • 개폐 원리: 일반 개요, 확장 가능, 수정 불가
  • 더 많은 관련 지식을 보려면

    PHP 중국어 웹사이트
  • 를 방문하세요.

위 내용은 경영정보시스템 코드설계에서 코딩의 목적은 무엇인가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

11가지 일반적인 분류 특징 인코딩 기술 11가지 일반적인 분류 특징 인코딩 기술 Apr 12, 2023 pm 12:16 PM

기계 학습 알고리즘은 숫자 입력만 허용하므로 범주형 특성을 발견하면 범주형 특성을 인코딩합니다. 이 문서에서는 11가지 일반적인 범주형 변수 인코딩 방법을 요약합니다. 1. ONE HOT ENCODING 가장 널리 사용되고 일반적으로 사용되는 인코딩 방법은 One Hot Encoding입니다. n개의 관측값과 d개의 개별 값을 갖는 단일 변수는 n개의 관측값을 갖는 d개의 이진 변수로 변환되며, 각 이진 변수는 비트(0, 1)로 식별됩니다. 예를 들어, 인코딩 후 가장 간단한 구현은 pandas' get_dummiesnew_df=pd.get_dummies(columns=['Sex'], data=df)2를 사용하는 것입니다.

utf8로 인코딩된 중국어 문자는 몇 바이트를 차지합니까? utf8로 인코딩된 중국어 문자는 몇 바이트를 차지합니까? Feb 21, 2023 am 11:40 AM

UTF8로 인코딩된 한자는 3바이트를 차지합니다. UTF-8 인코딩에서는 한자 1개가 3바이트이고, 중국어 구두점 1개가 3바이트를 차지하는 반면, 유니코드 인코딩에서는 한자 1개(중국어 번체 포함)가 2바이트에 해당합니다. UTF-8은 각 문자를 인코딩하는 데 1~4바이트를 사용합니다. 하나의 US-ASCIl 문자는 인코딩하는 데 1바이트만 필요합니다. 발음 구별 부호가 있는 라틴어, 그리스어, 아르메니아어 및 기타 문자는 2바이트가 필요합니다. 부호화.

지식 그래프: 대형 모델을 위한 이상적인 파트너 지식 그래프: 대형 모델을 위한 이상적인 파트너 Jan 29, 2024 am 09:21 AM

LLM(대형 언어 모델)은 매끄럽고 일관된 텍스트를 생성하는 기능을 갖추고 있어 인공 지능 대화 및 창의적 글쓰기와 같은 영역에 새로운 전망을 제시합니다. 그러나 LLM에는 몇 가지 주요 제한 사항도 있습니다. 첫째, 그들의 지식은 훈련 데이터에서 인식된 패턴으로 제한되어 있으며 세상에 대한 진정한 이해가 부족합니다. 둘째, 추론 능력이 제한되어 있어 여러 데이터 소스에서 논리적 추론을 하거나 사실을 융합할 수 없습니다. 더 복잡하고 개방형 질문에 직면할 때 LLM의 답변은 "환상"이라고 알려진 터무니없거나 모순될 수 있습니다. 따라서 LLM은 일부 측면에서 매우 유용하지만 복잡한 문제와 실제 상황을 처리할 때 여전히 특정 제한 사항이 있습니다. 이러한 격차를 해소하기 위해 최근 몇 년 동안 검색 증강 생성(RAG) 시스템이 등장했습니다.

몇 가지 일반적인 인코딩 방법 몇 가지 일반적인 인코딩 방법 Oct 24, 2023 am 10:09 AM

일반적인 인코딩 방법에는 ASCII 인코딩, 유니코드 인코딩, UTF-8 인코딩, UTF-16 인코딩, GBK 인코딩 등이 포함됩니다. 자세한 소개: 1. ASCII 인코딩은 7비트 이진수를 사용하여 영어 문자, 숫자, 구두점, 제어 문자 등을 포함하여 128개의 문자를 나타내는 최초의 문자 인코딩 표준입니다. 2. 유니코드 인코딩은 표현하는 데 사용되는 방법입니다. 세상의 모든 문자 각 문자에 고유한 디지털 코드 포인트를 할당하는 문자의 표준 인코딩 방법 3. UTF-8 인코딩 등

PHP 코딩 팁: 위조 방지 검증 기능이 있는 QR 코드를 생성하는 방법은 무엇입니까? PHP 코딩 팁: 위조 방지 검증 기능이 있는 QR 코드를 생성하는 방법은 무엇입니까? Aug 17, 2023 pm 02:42 PM

PHP 코딩 팁: 위조 방지 검증 기능이 있는 QR 코드를 생성하는 방법은 무엇입니까? 전자상거래와 인터넷의 발달로 다양한 산업분야에서 QR코드의 활용이 늘어나고 있습니다. QR코드를 사용하는 과정에서 제품의 안전성 확보와 위조방지를 위해서는 QR코드에 위조방지 검증기능을 추가하는 것이 매우 중요합니다. 이 기사에서는 PHP를 사용하여 위조 방지 검증 기능이 포함된 QR 코드를 생성하는 방법을 소개하고 해당 코드 예제를 첨부합니다. 시작하기 전에 다음과 같은 필수 도구와 라이브러리를 준비해야 합니다: PHPQRCode: PHP

PHP 데이터베이스 쿼리 결과 인코딩 문제를 해결하는 방법 PHP 데이터베이스 쿼리 결과 인코딩 문제를 해결하는 방법 Mar 21, 2023 am 11:49 AM

PHP는 동적 웹 페이지와 애플리케이션을 작성하는 데 사용할 수 있는 널리 사용되는 웹 프로그래밍 언어입니다. 실제 애플리케이션에서 PHP는 데이터를 쿼리하고 처리하기 위해 데이터베이스와 상호 작용해야 하는 경우가 많습니다. 그러나 PHP를 사용하여 데이터베이스에서 결과를 얻을 때 인코딩 문제가 발생할 수 있으며, 이로 인해 종종 문자가 깨집니다. 그렇다면 PHP 데이터베이스 쿼리 결과 인코딩 문제를 해결하는 방법은 무엇입니까?

hdb3 인코딩 규칙은 무엇입니까? hdb3 인코딩 규칙은 무엇입니까? Aug 29, 2023 pm 01:38 PM

코딩 규칙은 다음과 같습니다. 1. 이전 코드가 0이고 현재 데이터 비트가 0이면 코드는 0입니다. 이전 코드가 0이고 현재 데이터 비트가 1이면 코드는 양극성 펄스(+A)입니다. 또는 - A), 카운터는 1만큼 증가합니다. 이전 코드가 1이고 현재 데이터 비트가 1이면 코드는 0이고 카운터는 4만큼 증가합니다. 1이면 현재 데이터 비트는 0이고, 카운터의 패리티에 따라 인코딩 방법이 결정됩니다. 짝수인 경우 인코딩은 (+B 또는 -B)입니다. 레벨이 0이고 카운터가 지워지는 식입니다.

한 기사에서 GenAI를 기반으로 코딩 성능을 향상시키는 방법을 알아보세요. 한 기사에서 GenAI를 기반으로 코딩 성능을 향상시키는 방법을 알아보세요. Apr 01, 2024 pm 06:49 PM

안녕하세요 여러분, 제 이름은 루가입니다. 오늘은 인공지능(AI) 생태분야 분야인 GenAI와 관련된 기술에 대해 이야기해보겠습니다. 급속한 기술 혁신과 차별화된 비즈니스 시나리오라는 과제에 직면하면서 전통적인 코딩 방법은 적응되기 시작했으며 증가하는 요구에 완전히 대처할 수 없습니다. 동시에 신흥 범용 GenAI(인공지능 기술)는 이러한 수요를 충족할 수 있는 큰 잠재력을 가지고 있습니다. GenAI는 인공지능 기술의 대표주자로서 강력한 잠재력과 능력을 바탕으로 각계에서 널리 활용되기 시작했습니다. 다양한 시나리오의 코딩 요구 사항을 자동으로 학습하고 적응할 수 있어 코딩 효율성과 품질이 크게 향상됩니다. 딥러닝과 모델 최적화를 통해 GenAI는 다양한 정보를 정확하게 이해할 수 있습니다.