[개발방법론] .NET 플랫폼의 설계요소

간만에 기본에 충실해 보려고 한다. CBD개발론을 이야기하는  .NET 플랫폼 웹 어플케이션의 설계요소에 대해 알아볼려고 한다.

1. 프리젠테이션 로직(Presentation Logic) : 경계 클래스(Boundary Class)

  •  HTML : 사용자에게 보여줄 정적인 웹페이지를 만들 때 사용
  • ASP.NET 페이지(코드비하인드) : 사용자에게 보여줄 동적인 웹 페이지를 만들 때 사용.

2. 비지니스 로직 (Business Logic) : 제어 클래스(Control Class)

  •  BLO (Business Logic Object) : 비지니스 로직을 구현할 때 사용되는 클래스.
    하나의 BLO의 각 메소드는 독립적인 기능을 제공하는 하나의 단위 역할만 수행해야 함.(서로 의존하지 않아야 함)
    데이터베이스에 직접 접근하지 않음.

  • 로컬 클래스 BLO
    public class BizObject {
    }

  • 원격 클래스 BLO
    .NET Remoting 기술.
    MarshalByRefObject 기술.
    public class BizObject : MarshalByRefObject {
    }

  • COM+ 클래스 BLO
    COM+가 제공하는 트랜잭션, 객체 활성화, 동기화 등의 서비스를 제공 받을 수 있는 클래스
    ServicedComponent 클래스를 계승 받아서 정의
    ServicedComponent 클래스는 MarshalByRefObject의 하위 클래스이기 때문에, COM+ 클래스는 기본적으로 원격 클래스 (분산환경지원)
    public class BizObject : ServicedComponent {
    }



3. 데이터 접근 로직 (Data Access Logic)
: 실체 클래스(Entity Class)

  • DAO (Data Access Object) : 데이터베이스의 테이블에 접근할 때 사용되는 클래스.
    보통 필드를 가지고 있지 않음.
    일반적으로 다른 DAO와 의존하지 않음.
    DAO만이 데이터베이스에 접근함.
    비지니스 로직을 전혀 포함하고 있지 않음.
    DAO는 BLO에서 이용되어짐.

  • TABLE : 데이터베이스에 구축되는 각 테이블.


오늘 우리 현실에 대한 반성과 나태함에 대해 꾸짖고자 한다. 갑자기 이게 무슨 이야기인가하고 좀 쌩뚱맞아 할 수도 있다. 이런 기본적이 내용을 정리하고 있으니 약간 한심한 생각이 들기도 하고 분야에 대한 공부를 너무 안한 것을 반성하게 된다. 위 내용은 객체지향 설계에 대해 약간 공부를 했다면 너무나도 많이 들어보았던 내용일 것이다. 그 말은 즉 기본 중에 기본, S/W 개발업종에 있는 사람이라면 교양과도 같은 내용인 것이다. 허나  현실은 어떠한가? 주위를 둘러보면 이런 개념조차 존재하지 않는 사람이 프로그래밍을 하고 있다. 공장에서 물건을 찍어내듯이 소스코드를 작성하는 코드생산직들이 대부분인 것이다. 만일 이 단계를 뛰어넘지 못한다면 시간이 좀 지난 뒤에 중국/인도인력 또는 신입들과의 경쟁에서 밀려 호떡장사를 해야할 지도 모를 일이다. 그래서 우리는 이제 아키텍처를 설계하는 능력, 비지니스를 분석/설계 능력, 커뮤니케이션을 원활히 하는 능력을 겸비한 기술리더로 거듭나야 할 것이다. 다시 말해 비지니스를 만드는 사람, 새로운 모델을 만들어 문제를 해결하는 사람, 불편함을 해결하는 사람과 같은 기업에서 가치를 창출하는 사람이 되여야 하는 것이다.


이올린에 북마크하기(0) 이올린에 추천하기(0)

Posted by 좐군

2009/06/03 01:21 2009/06/03 01:21
, , , , ,
Response
No Trackback , No Comment
RSS :
http://John.tobe30.com/tc/rss/response/159

Trackback URL : http://John.tobe30.com/tc/trackback/159

Leave a comment
[로그인][오픈아이디란?]