당신은 클래스를 만들기 처리"기업"를 위한 데이터 기반의 응용 프로그램?

StackOverflow https://stackoverflow.com/questions/825257

문제

나는 초보자 및을 때와 장난을 만드는 데이터베이스 응용 프로그램을 난 항상 만들어 내 형태로 모든 코드 및 바인딩습니다.는 대신 배열하고 목록을 개최된 정보를 변경했는데 직접 데이터베이스.

이제는 내가 진화를 조금는 판매되는 위젯을 고객에게 유지 판매 정보를 데이터베이스에서.면 프로그램 작성 데이터베이스에 액세스하지 않을 것을 만들고 싶은 클래스 형식의'고객'과'위젯'그와 함께 일할 엔터티?

내가 잘못 다음이 무엇입 적합한 접근 방식 프로그래밍 데이터베이스 응용 프로그램은 무엇입니까?

도움이 되었습니까?

해결책

그렇습니다.

당신이 보길 원하는 n-tier 프로그래밍입니다.

기본적으로,당신이 할 수 있는 프런트 엔드(presentation layer)에만 액세스를 당신의 클래스 라이브러리(비즈니스 레이어)입니다.귀하의 클래스 라이브러리는 그 다음 당신은에 액세스하는 데이터베이스.

이것은 당신이 덜 단단히 결합한 솔루션을 통해 더욱 유지 가능 코드입니다.또한 도입하여 계층에 대한 변경을 허용하 DB 필요없이 다시 작성하는 코드에서는 프로 인터페이스와 비즈니스 계층을 필요가 없이 변경 될 수 있습니다.

로 바인딩에 관한 한,당신은 Visual Studio 를 사용하여 윈도우 폼(2005 이후)할 수 있어야 합리 마트 클라이언트 을 사용하여 다음을 수행할 수 있습니 바인딩 제어합니다.를 사용하는 경우 ASP.NET 다음의 제어 묶어야 합니다 목록의 개체없이 문제입니다.

대 ASP.Net 이 ObjectDataSource 보고 가치가 있을 수도 있습니다.나는 사용하지 않은,그것을 자신하지만 많은 샘플을 웹에 있습니다.도 .

다른 팁

그렇습니다.

당신이보고 싶은 밀접하게서 Object-Relational Mapping.

귀하의 사업체는 모델링에 의해 개체는 지도 관계형 테이블이 있습니다.

당신이 원하지 않는 프레젠테이션 층을 직접 따라 데이터베이스에서 구조;문제로는 경우에는 데이터베이스 구조의 변화에 모든,당신의 프레젠테이션 층을 변경해야 하며,장기적으로하는 경향이 문제를 일으킵니다.또한,보안 문제가 있으로 참여는 당신의 프레젠테이션 층을 직접 데이터베이스와 상호 작용.

거친 비유는 여기 시장;에 갈 때 당신은 상점을 구입하는 빵,당신이하지 않는 방법을 알아야 성장을 밀;당신이 알아야 할 모든 당신은 당신이 돈을 가지고,그리고 그들은 빵,그리고 그들 것이다 exchange 일정 금액의 빵에 대한 정보를 제공합니다.당신이 알 필요가 없는 올해의 어떤 시간을 공장이 밀 또는 제거 방법 겨,또는 그 때문에,백 레이어 케어 있습니다.마찬가지로 농부는 필요하지 않는 방법을 알고 빵을 판매하는 전체적인 무리의 사람들,심지어는 어떻게 빵을 만들;그가 할 수있는 모든 것을 성장하는 방법을 알고 밀.

현대적인 디자인 철학을 사용하는 것이 좋 중간층을 사이에 상호 작용을 프레젠테이션층과 데이터베이스 계층;이것은 당신의 사업을 논리입니다.그래서 예를 들어,말하자는 판매하는 위젯을 사이트에서.대신 프레젠테이션 코드 쿼리 데이터베이스에 대한 위젯과 전시는,당신이 사업체는 처리합니다.이 방법은,당신의 사업체는 것을 알 필요가있는 데이터베이스 구조는,그러나 당신의 프레젠테이션 층을 요구하는 방법을 알고 물어 당신의 비즈니스에 대한 개체 위젯의 목록을 표시합니다.더 중요한 것은,귀하의 비즈니스에서 객체에 배치할 수 있습 규칙에 있는 호출될 때 어떤 일이 일어난다.그래서 그 대신 프레젠테이션 층을 직접 변경하는 데이터베이스에 대한 재고 및 주문을 때기 위해 만들어,당신의 사업체를 만드는 방법을 알고 변경 내용과 어떤 테이블을 수정하면 프리젠테이션 레이어는 요청 판매가 발생합니다.

이 방법은,당신은 별도 표시에서 귀하의 정보를 지속성과 논리를 기본 웹 사이트입니다.무엇이 포함은 좋은 계획;특히,당신은 무엇인지 파악하기 위해 웹 사이트이 하는 것입니다에서 특정 시점이고 무엇을 의미하는 어떤 측면에서 인터페이스가 귀하의 비즈니스 개체를 제공하는 것입니다.다음를 구현하는 귀하의 비즈니스 객체를 기반으로 사람들의 요구사항;그 사업체가 어디에 당신을 넣어 지식 데이터베이스의 구조 및 특정 비즈니스 logic("때 일어나는요,B,then C",etc.).

이처럼 보인다 많은 추가 작업을 시작 부분에서만,정말 가치가있다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top