프로그래밍에서 개체의 표현. - 페이지 13

 
Aliaksandr Hryshyn # :
예를 들어도 될까요?

개념이 더 완전하고 독자가 더 이해할 수 있을 때 예제가 조금 후에 주어질 것입니다.

 

3부

Event Model 을 공식화하기 위해서는 Event 의 성격을 보다 폭넓게 드러낼 필요가 있다. 이전 부분에서는 모든 객체가 소위 말하는 것으로 구성되어 있다고 가정했습니다. "proto-blocks" - 시스템 개체의 "생활 활동"을 재생산하기 위해 핸들러 기능에 의해 사용되는 매개변수 기반이 있는 일부 특정 엔터티입니다. 각 "프로토 블록"은 "마트료시카"처럼 작은 프로토 블록의 "본체"를 포함하고 자체가 큰 것의 본체에 포함되는 매개변수 "본체"를 갖는다고 합니다. 프로토 블록은 복잡성 수준에 따라 "계층 구조"에 넣을 수 있다고 가정했습니다. 여기서 매개 변수는 가장 작은 "입자"이고 매개 변수의 복합체는 개체의 매개 변수 "몸체"이며 다음 집합의 집합입니다. 이 몸체에서 "더러워진" 매개변수는 다음과 같은 복잡성 수준의 원형 블록이며, 그 중 먼저 상태 가 옵니다. 객체의 존재에서 중요한 "중단점"을 전달하는 매개변수 구성, 그런 다음 일련의 관련 상태, 프로세스 입니다 ... 이벤트로 이동하고 이벤트 가 어떻게 형성되는지 이해하기 위해 언급된 프로토 블록의 매개변수 구조를 잠시 살펴보겠습니다. 이 단계에서 다음과 같이 말할 수 있습니다.

  • 상태 는 객체의 매개변수 집합에서 파생된 구성입니다. 선택한 옵션에서 "캐스트"합니다.
  • 상태 는 객체 값의 중요한 인스턴스를 저장합니다.
  • 구조적으로, 국가의 매개변수 본체는 "레고 칩"과 같은 프로세스의 일부입니다.
  • 프로세스 - 체인에서 개체의 "수명 활동"으로 연결된 상태 시퀀스입니다.
  • 이 프로세스 에는 상태가 "영화와 같은" 프레임으로 포함되어 있으며 해당 프레임으로 구문 분석됩니다.

다음으로 이벤트의 기원과 매개변수 구조의 공개로 넘어갑니다. 우리는 이벤트가 어떻게 형성되는지 알아내고 파라메트릭 "초상화"를 보고 프로토 블록의 계층 구조에 배치해야 합니다. 그런 다음 프로토 블록을 기능 시스템에 "바인딩" 하고 이벤트 모델 의 "출생"을 추적해 보겠습니다. 이벤트의 매개변수 구조에는 상수 속성 조합의 여러 변형이 있다는 점에 즉시 유의해야 합니다. 그들에 대해 알아 봅시다.

  • 이벤트 배경 - 개체 또는 해당 환경(환경의 다른 개체)에서 가져온 매개변수 및 값 집합으로, 이벤트 로 간주 되는 중요한 변경 이전 또는 수반되는 초기 상태 로 표시됩니다.
  • 대상 값 - 이 개체 또는 환경의 대상 상태 로 표시되고 이벤트 로 간주되는 개체 또는 환경의 선택된 매개변수 집합에서 값 집합입니다.
  • 목표 차이 - 선택한 매개 변수 세트의 과거 값과 현재 값 사이의 원하는 차이   물체 또는 그 환경,   로 제시   개체 또는 환경 이벤트 에서 중요 합니다.
  • 목표 비율 - 다음 과 같이 고려되는 개체 또는 환경의 선택한 매개 변수 집합 값의 원하는 비율   이벤트 .
  • 대상 "서명" - 과거 값과 현재 값 간의 원하는 변경 패턴   선택한 매개변수 세트   로 간주되는 대상 또는 환경   이벤트 .

우리는 다양한 조합으로 구조를 구성하는 매개변수 본문에 포함된 이벤트 의 5가지 주요 속성을 나열했습니다. 다른 프로토 블록 과 마찬가지로 이벤트 는 동적 수명의 객체의 매개 변수 바디에서 작성되며 원하는 추가 계산 및 기록을 위해 현재 순간부터 주요 매개변수 및 해당 값을 " 캡처 "하는 방법으로 형성됩니다. 대상 - 이벤트 모듈 의 양식 템플릿 에 있는 배경, 값, 차이, 비율 또는 서명 (나중에 시스템에서 사용하기 위해). 이벤트가 형성되면 파생 매개변수가 본문에 추가되어 차이 계산 또는 서명의 결과를 저장합니다. 이벤트는 타겟을 계산하고 파라메트릭 레이아웃과 기록에 필요한 기능을 가진 전문 어셈블러에 의해 생성될 수 있다고 덧붙일 것입니다. 물론 EventState 보다 복잡하고 후자와 달리 "파생" 부분이 있습니다. 객체의 매개변수의 직계 자손은 아니지만 초기 매개변수의 차이 또는 변경 특성을 계산한 결과에 대한 매개변수로 보완되지만 구조적으로는 동일한 프로토블록입니다. 상태 또는 프로세스 - 즉. 값 인스턴스가 있는 매개변수 세트 .

시스템 프로토 블록을 뜨개질로.

이제 우리는 프로토 블록이 최소한 세 가지 방법을 사용하여 특수 어셈블러에 의해 형성된다는 아이디어를 얻었습니다.

  1. 상태 또는 프로세스 를 구성할 때 개체의 매개변수 본문에서 " 출아 " 하는 방법입니다.
  2. 개체 또는 환경의 현재 순간에서 매개변수 및 해당 값 을 캡처하는 방법 - 이벤트 를 빌드할 때 "배경", 대상 값 또는 대상 비율을 수정합니다.
  3. 대상 차이 또는 대상 변경 서명에 대한 사용자 정의 파생 매개변수 를 추가 및 계산하는 방법이며 , 이벤트 를 빌드할 때도 마찬가지입니다.

이제 개념에서 사용할 수 있는 프로토 블록 에서 "살아 있는" 시스템을 구축하는 방법과 " 이벤트 모델 "이 여기서 어떤 역할을 하는지 질문으로 넘어가 보겠습니다.

모든 시스템(객체)의 두 가지 핵심 " 필수 활동 의 메타 프로세스 "는 다음과 같습니다.

  • 임베디드 프로그램의 독립적인 실행.
  • 환경과의 상호 작용.

이 두 메타 프로세스는 외부 영향이 독립 실행 프로세스를 방해할 때 하나로 얽혀 있고 이에 대응하여 시스템은 손실된 균형을 복원하고 독립 실행 프로세스를 계속하기 위해 매개변수 값을 변경합니다. 일반적으로 이 역학은 환경 에서 시스템의 중요한 활동입니다 . " 외부 영향과 내부 반응 " 간의 연결이 구현되는 방식을 이해하려면 - Condition 개념에 구성 요소를 하나 더 추가해야 합니다.

  • 조건 은 시스템의 다른 프로토 블록 간의 원인결과 간의 연결을 설정하는 프로토 블록입니다 . 이전 부분에서 이야기하고 내부에 설정된 규칙이나 공식에 따라 관련 매개변수의 값을 변경하는 매개변수 링크 핸들러와 달리 Condition에는 공식화된 규칙과 종속성 공식이 없습니다. - Condition 링크 수식과 알고리즘 없이 자체 내부의 프로토 블록을 인과 사슬로 만듭니다. 예를 들어, 특정 이벤트원인 의 "본문 "에 배치되고 상태는 결과의 "본문"에 배치됩니다. 따라서 일부 이벤트를 확인하고 감지하여 객체 내부의 일부 상태를 켭니다. 공식과 계산 없이. 한 프로토 블록에서 다른 프로토 블록으로 직접 전환하기만 하면 됩니다.
  • 모든 프로토 블록 과 마찬가지로 조건 에는 자체 핸들러가 있습니다. 이 경우 " then " 및 " else "와 함께 " if() "문이 가장 좋습니다. "Reason"의 본문(" if() "에 삽입됨)에서 패턴인스턴스 비교가 항상 수행됩니다. Event 를 확인하면 해당 템플릿을 가져와 Condition 에 추가하고 Condition 핸들러 자체가 템플릿 매개변수에서 인스턴스를 수집하고 해당 값을 원래 값과 비교하고 두 가지 결과 ( " then "또는 " else " ) 비교 결과에 따라 다릅니다.
모든 동안. 이제 우리는 이벤트 모델을 고려하기 위한 완전한 개념 세트를 갖게 되었으며 (흥미로운 경우) 이에 대해 계속 진행할 것입니다.


 
Реter Konow # :

3부

Liba(라이브러리)는 직관적일까요?

 
Реter Konow # :

물론, 그러나 우리는 그것을 관리하는 것이 매우 나쁘고 종종 컴퓨터가 우리를 쉽게 이길 수 있는 매우 낮은 성능을 참아야 합니다.)

우리(의식)는 뇌 기능의 극히 일부일 뿐이며 의무 사항도 아닙니다. 하지만 뇌는 더 높은 신경 활동의 다른 측면을 잘 수행하고 모든 컴퓨터를 할 수 있습니다... 비즈니스에서 .. 지능 측면에서, 그는 두뇌보다 삽에 가깝습니다 ..

 
transcendreamer # :

Liba(라이브러리)는 직관적일까요?

나는 당신의 프로그래밍 경험이 얼마나 훌륭한지 모릅니다. 그래서 당신이 내가 쓰고 있는 것을 얼마나 이해하고 있는지 상상할 수 없습니다. 절대 인본주의자에게는 개념이 모호하지만 코딩 기술을 가진 사람에게는 많은 것이 매우 분명합니다. 질문을 공식화하려고 노력하면 답을 얻으려고 노력할 것입니다.)

추가됨: 코드 기반에 많은 코드가 있으므로 경험이 있음을 의미합니다. 그러면 많은 개념이 명확해져야 합니다.

 
Nikolay Ivanov # :

우리(의식)는 뇌 기능의 작은 부분일 뿐이며 의무 사항도 아닙니다. 하지만 뇌는 다른 높은 신경 활동 측면을 잘 수행하고 모든 컴퓨터를 할 수 있습니다... 비즈니스에서 .. 지능 측면에서 그는 뇌보다 삽에 가깝다..

동의한다.

 
Реter Konow # :

나는 당신의 프로그래밍 경험이 얼마나 훌륭한지 모릅니다. 그래서 당신이 내가 쓰고 있는 것을 얼마나 이해하고 있는지 상상할 수 없습니다. 절대 인본주의자에게는 개념이 모호하지만 코딩 기술을 가진 사람에게는 많은 것이 매우 분명합니다. 질문을 공식화하려고 노력하면 답을 얻으려고 노력할 것입니다.)

추가됨: 코드 기반에 많은 코드가 있으므로 경험이 있음을 의미합니다. 그러면 많은 개념이 명확해져야 합니다.

글쎄, mql5에는 표준 라이브러리가 있고, 복잡한 엔티티로 작업하는 데 약간의 안도감을 주는 다른 라이브러리가 있습니다(때로는 사실이고 그 반대의 경우 불필요한 복잡성이 있습니다). 따라서 질문은 다음과 같습니다. 사용하기 편리한 특정 라이브러리를 만드시겠습니까?

 
transcendreamer # :

글쎄, mql5에는 표준 라이브러리가 있고, 복잡한 엔티티로 작업하는 데 약간의 안도감을 주는 다른 라이브러리가 있습니다(때로는 사실이고 그 반대의 경우 불필요한 복잡성이 있습니다). 따라서 질문은 다음과 같습니다. 사용하기 편리한 특정 라이브러리를 만드시겠습니까?

말하기 어렵다. 이러한 비표준 접근 방식을 구현하려면 모든 것이 표준 OOP를 사용하지 않고 저수준 프로그래밍으로 수행되어야 한다고 생각합니다. 하지만 내가 틀렸을 수도 있습니다.

 
Реter Konow # :

말하기 어렵다. 이러한 비표준 접근 방식을 구현하려면 모든 것이 표준 OOP를 사용하지 않고 저수준 프로그래밍으로 수행되어야 한다고 생각합니다. 하지만 내가 틀렸을 수도 있습니다.

모든 것이 완료되었습니다

 
Реter Konow # :

말하기 어렵다. 이러한 비표준 접근 방식을 구현하려면 모든 것이 표준 OOP를 사용하지 않고 저수준 프로그래밍으로 수행되어야 한다고 생각합니다. 하지만 내가 틀렸을 수도 있습니다.

가장 중요한 것은 사용자에게 복잡함이 아니라 단순화여야 한다는 것입니다.