doface (원본)
ASP에 대해 이야기할 때 많은 사람들은 이것이 HTML 스크립트, <% 및 %>로 묶인 일부 코드, 이러한 코드 및 다양한 형식의 모든 종류의 주석 추가라고 생각합니다. , 그것은 혼돈이라는 한 단어처럼 보입니다. 다른 사람이 이해할 수 있는지 여부는 중요하지 않으며, 자신의 목적을 달성할 수 있는 한 ASP 코드도 스크립트이기 때문에 고객이 내용을 볼 수 없는 부분에 포함되는 경우가 많습니다. 하지만 저는 여전히 ASP 코드가 가장 가치가 없는 코드라고 생각합니다. 아무도 그것을 사러 돌아가지 않습니다. 소스를 보면 항상 다른 사람들이 열심히 작성한 고유한 스타일을 얻을 수 있습니다. 다른 사람 웹사이트의 코드. 이러한 이유로 인해 ASP는 작성하기 쉽고 빨리 잊어버리는 코드로 발전하게 되었습니다. 가독성과 유지 관리성 역시 다양한 언어 중 최악입니다.
실제로 ASP 코드는 다른 언어와 마찬가지로 개체 지향적이며 모듈식일 수 있습니다. 많은 페이지를 클래스로 통합하고 캡슐화할 수 있으며 클래스의 다양한 메서드를 사용하여 여러 페이지를 결합할 수 있습니다. 동일한 비즈니스 논리 하에서 논리는 클래스로 캡슐화되고 다른 방법을 사용하여 구현됩니다. 너무 많이 말했지만 아마도 모든 사람의 생각이 혼란스러울 수도 있습니다. 몇 가지 예를 들어 보겠습니다.
<%
'****************************************
'* 클래스 이름: clsWebWorkFlowLog
'* 함수 :워크플로 로그 추적 클래스
'* 기록:
'* 작성자: doface
'* 날짜: 2003/10/24 Ver 1.0
'* 변경 내용:
'* 날짜:
'***************** * ***********************
class clsWebWorkFlowLog
'연결 개체를 저장할 공용 속성 정의
공개 ActiveConnection
비공개응답
'=========================================
'= 프로세스 이름: 메인
'= 매개변수:
'= 기능: 주요 호출 기능
'= 다양한 작업 매개변수를 기반으로 다양한 작업을 수행합니다.
'= 반환 값:
'=========================================
서브메인()
케이스 선택 Request("act")
케이스 "목록"
목록()
다른 경우
목록()
선택 종료
서브 끝
'=========================================
'= 프로세스 이름: 목록
'= 매개변수:
'= 기능: 목록 화면 표시
'= 반환 값:
'=========================================
하위 목록()
또는
set oRs = ActiveConnection.execute("select *,(wf_config에서 이름 선택(id=w.wf_id)) as wfname from wf_log w where step_id=1 and user_id=" & session("usr")("uid"))
'(wf_log에서 * 선택(여기서 id는 wf_id,tab_id,rec_id로 wf_log 그룹에서 max(id),wf_id,tab_id,rec_id 선택, wf_id= 및 tab_id=))
%> <p align="왼쪽"><img border="0" src="../images/desk/workflow-new.gif" WIDTH="32" HEIGHT="32"><font color="# FF0000"><b>할 일 항목:</b></font></p>
<center>
<table bgColor="#FFFFFF" border="1" borderColorDark="#ffffff" borderColorLight="#c0c0c0" cellSpacing="0" width="99%" height="25">
<tr>
<td bgColor="#808080" height="15"><font color="#FFFFFF">프로세스 이름</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">지원자</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">적용 시간</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">완료 시간</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">상태</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">작동</font></td>
</tr><%
oRs.eof가 아닌 동안 수행
희미한 maxID,Next_id
if glbFunc.getMaxID(oRs("id").value,ActiveConnection,maxID,Next_id) 다음
%><tr>
<td bgColor="#ffffff" height="19"><%=oRs("wfname")%></a></td>
<td bgColor="#ffffff" height="19"><%=session("usr")("name")%> </td>
<td bgColor="#ffffff" height="19"><%=oRs("exetime")%> </td>
<td bgColor="#ffffff" height="19"> </td>
<td bgColor="#ffffff" height="19"><%=glbFunc.getCurZT(oRs("id").value,ActiveConnection)%></td>
<td bgColor="#ffffff" height="19"><p align="left"><a href="../PubExeTab/PubExeTab.asp?act=view&tab_id=<%=oRs("tab_id")% >&id=<%=oRs("rec_id")%>"><img src="../images/action/view.gif" border="0" alt="세부정보" WIDTH="16" HEIGHT=" 16"></a> <a href="javascript:newin('wfimage.asp?act=list&id=<%=oRs("wf_id")%>&bz=1&step_id=<%=next_id%>', true,false,false,false,true);"><img src="../images/action/lcchuli.gif" border="0" alt="프로세스 추적" WIDTH="16" HEIGHT="16" ></a> </p></td><%
종료하면
%></tr><%
oRs.movenext
고리
%></table>
</center>
<%
서브 끝
수업 종료
'********************************************
'* 수업 종료
'********************************************
'********************************************
'ASP 페이지가 시작됩니다
'****************************************
'표준 HTML 헤더 출력
glbFunc.writeHEAD
희미한 oWebWorkFlowLog
oWebWorkFlowLog 설정 = 새 clsWebWorkFlowLog
oWebWorkFlowLog.ActiveConnection = glbFunc.getADOConnection
oWebWorkFlowLog.main
glbFunc.writeTail()
설정
%>
이 하나의 클래스가 여러 이전 ASP 파일의 기능을 완료할 수 있도록 더 많은 메서드를 추가할 수 있습니다. 접근시 .ASP 뒤에 매개변수(어떤 함수에 접근하고자 하는지)를 추가하여 구분할 수 있습니다.