이번에는 StringTemletReplet.dll 구성 요소가 일부 알고리즘을 업데이트했습니다. 주로 메모리의 정적 변수 값에 더 많이 의존합니다.
이는 템플릿을 변경하지 않고 수행되었습니다. 캐시 템플릿, 캐시 위임자 및 캐시 태그 구문 분석 데이터. 하지만 이렇게 하면 더 많은 메모리가 소모됩니다.
템플릿을 동적으로 변경하려면 매번 파일의 시간을 감지해야 합니다. 이것에 많은 시간을 보냈습니다. 아마도 앞으로는 템플릿을 동적으로 변경하는 기능은 제거되고, 어떤 템플릿 파일을 다시 읽어야 하는지 템플릿 클래스에 알려주는 인터페이스만 제공되어야 할 것이다.
이 페이지를 취소했습니다(RetuenString.aspx - 태그 문자열을 수락하고 구문 분석 결과를 반환합니다).
결국 태그는 스크립팅 언어를 만들지 않습니다. 이 기능은 의미가 없습니다.
어떤 사람들은 이 템플릿 클래스를 사용하는 방법을 모른다고 합니다. 여기서 간단히 이야기해 보겠습니다.
템플릿 클래스의 주요 기능은 전체 페이지 템플릿을 읽는 것이 아닙니다. 주로 페이지 조각 템플릿을 읽는 데 사용됩니다. 조각을 읽고 구문 분석하고 표시하면 됩니다.
블로그 개발과 같은 web2.0 사이트에서. 사용자 정의 스킨에 대한 페이지입니다. 즉, 전체 정적 페이지는 뉴스 시스템 업데이트에 큰 역할을 합니다.
태그의 기능은 태그 구문 분석 기능을 통해 확장됩니다. 따라서 템플릿 클래스의 속도는 단순히 StringTemletReplet.dll 구성 요소 자체의 실행 속도만은 아닙니다. 또한 태그 파싱 기능의 실행 시간을 추가합니다. 내 예제에 제공된 태그 구문 분석 함수는 간단한 문자열만 반환합니다.
그냥 편의상 이름을 붙인 겁니다. 템플릿 클래스가 하는 일은 스테이지를 제공하는 것뿐입니다. 그리고 템플릿 클래스 실행 시간을 더 빠르게 만드십시오. 태그 파싱 기능이 항상 실행되는지 여부. 시간이 얼마나 걸리나요? 사람을 이용하는 문제입니다.
정규 대체 템플릿 클래스도 작성되었습니다. 하지만 제가 직접 테스트해본 결과, 길이가 200만 개가 넘는 문자열에 대해 태그 위치 분석을 수행했습니다. 포인터 위치 지정보다 8배 이상 느립니다. 템플릿 문자열의 길이가 계속해서 감소하는 경우. 아마도 시간이 지나면 그 격차는 줄어들 것이다. 하지만 두 라벨 위치 지정 시간이 동일하더라도 마찬가지입니다. 문자열의 불변성에 따라 문자열을 계속 교체하면 새 문자열이 생성됩니다. 리소스를 너무 많이 소모합니다.
Business.cs는 UI 계층이나 논리 계층에 배치될 수 있습니다. FunctionList 클래스를 상속받으면 됩니다. 이 클래스를 상속하려면 정적 생성자를 재정의하면 됩니다. 정적 생성자에서 레이블과 레이블 실행 함수 간의 대응 관계를 설정합니다.
실제로 이전 버전에서는 실행 라벨이 작성되어 있었습니다. 라벨 이름 앞에 "execution_" 표시를 추가하면 됩니다.
{$execution_labelname:parameter1:parameter2:parameter3::character10$}
이렇게 하면 정적 생성자를 재정의할 필요가 없습니다. 이는 반사를 통해 수행됩니다. 하지만 속도가 매우 느립니다. 나중에 취소되었습니다. 결국 템플릿 클래스에서는 속도가 매우 중요합니다.
모두가 다운로드할 수 있는 고정된 위치가 없습니다. 과거에는 압축된 파일을 gif 이미지로 사용했습니다. NetEase 프로필에 전달하세요. 그러나 나중에 NetEase가 사진을 검사했습니다. 모두가 멈출 수 없게 만드세요. 새로운 장소를 찾고 있어요. 이미지 위치는 다양합니다.
지금은