문제

주요 웹 응용 프로그램의 회사가 외치는 멋진 라이브러리에서 그것을 만들기 위해 어떤 방법으로 유지 관리하고 확장 가능하고,하나의 동료들은 제안된 CSLA.그래서 나는 책을 구입하지만 같:

프로그래머는 책을 읽지 않을 더 이상

내가 원하지 SOFlow 커뮤니티의 의견의습니다.

그래서 여기에 제 질문:

  1. 할 수 있는 사람들이 사용하는 CSLA?
  2. 어떤 장점과 단점?
  3. 가 CSLA 정말에 적합하지 않 TDD?
  4. 나의 대안은 무엇 이는가?
  5. 는 경우에 당신은 그것을 사용 중지 또는 결정에 대하여 이유는?
도움이 되었습니까?

해결책

기 전에 나는 특히 귀하의 질문에 대답하고 싶어 몇 가지 생각이다.은 CSLA 오른쪽 위해 귀하의 프로젝트가 있습니까?그것에 따라 다릅니다.나 개인적으로 고려 CSLA 데스크톱 기반의 응용 프로그램지 않는 가치 단위 테스트용으로 높은 우선순위에 두십시오.CSLA 중대할 경우 쉽게 확장하여 응용 프로그램.CSLA 얻을하는 경향이있 일부 flack 허용하지 않기 때문에 순수한 단위 테스트입니다.그러나 이것은 사실,아무것도 같은 기술에 있는,내가 믿고 있는 것입니다 아무도 진실한 방법.단위 테스트 뭔가하지 않을 수 있습니다 당신이 사업을 위해 특정 프로젝트입니다.어떤 작품 중 하나에 대한 팀의 프로젝트 작동하지 않을 수 있습니다 다른 팀을 위해 또는 다른 프로젝트입니다.

또한 많은 오해에 관해서 CSLA.그것은 ORM.그것은 경쟁사를 NHibernate(사실을 사용하여 CLSA 비즈니스 개&NHibernate 으로 데이터 액세스는 정말 잘 맞는 함께).그것은 formalises 의 개념 모바일 객체.

1.얼마나 많은 사람들이 사용하는 CSLA?
에 따라 CSLA 포럼, 말할 것이 있의 꽤 번호를 CSLA 을 기반으로 프로젝트 거기에있다.정직하지만,나는 아무 생각이 얼마나 많은 사람들은 실제로 그것을 사용하고 있다.내가 사용한 그것은 과거에는 두 개의 프로젝트에.

2.어떤 장점과 단점?
는 동안 어렵 요약에서 짧은 목록에,여기에 몇 가지의 pro/con 의 마음에 와서.
장점:

  • 그것은 쉽게 얻을 새로운 개발지 을 속도입니다.이 CSLA 책와 샘플 는 훌륭한 자원을 얻을 수 있습니다.
  • 유효성 검사 프레임워크가 진정으로 세계 클래스고는"빌"많은 다른 많은 비 CSLA 프로젝트 및 기술입니다.
  • n 수준의 취소 내에서의 사업체
  • Config 라인 변화를 위한 n-Tier 확장성(참고:지 않도 다시 컴파일이 필요하다.)
  • 핵심 기술 추상화에서"진짜"코드입니다.때 WCF 를 도입,그것에 미치는 영향을 최소화 CSLA 코드입니다.
  • 그것은 가능한 공유하는 비즈니스 개체 및 웹 프로젝트에 해당됩니다.
  • CSLA 의 정상화를 촉진 행동 오히려 이상의 정규화 데이터 (을 떠나는 데이터베이스 데이터에 대해 정규화).

단점:

  • 에 어려움이 유닛 테스트
  • 의 부족은 분리의 관심사(일반적으로 귀하의 사업체는 데이터에 액세스 코드 그 안에).
  • 로 CSLA 의 정상화를 촉진 행동, 보다의 정상화 데이터, 며,이 발생할 수 있는 사업체는 이름은 마찬가지로,하지만 서로 다른 목적을 가지고있다.이것을 혼동을 일으킬 수 있습과 같은 느낌을 당신은 다시 사용하지 개체입니다.는 말했다,한 번 생리 도약을 찍은,그것보다 더 의미가-그것은 것이 부적절하는 구조체를"오래된"방법입니다.
  • 그것은"패션에"응용 프로그램을 구축하기 위해 이 방법입니다.할 수 있습을 얻기 위해 투쟁하는 개발자에 대한 열정 기술입니다.

3.이것을 읽은 후에는 CSLA 정말에 적합하지 않 TDD?
나지 않은 발견을 하는 효과적인 방법 TDD 와 CSLA.는 말했다,나는 거기에 많은 똑똑한 사람들이 보다 나는 이것을 시도하고 큰 성공이다.

4.나의 대안은 무엇 이는가?
도메인 중심의 디자인이 큰 밀어서는 순간(그리고 정당하게도 그것은 환상적인 응용 프로그램).숫자도 있습니다 흥미로운 패턴을 개발에서의 소개 LINQ(및 LINQ SQL,엔티티 프레임워크,etc.).마틴 파울러 예약 PoEAA, 정보 많은 패턴이 될 수 있는 적합한 응용 프로그램입니다.참고 하는 몇 가지 패턴은 경쟁(i.eActive 레코드 저장소)에 있으며,따라서 사용하는 것에 대한 특정한 시나리오.동 CSLA 지 않는 정확하게 일치하는 패턴을 설명 책에는,그것의 가장 밀접하게 활성과 유사한 기록(지만 그것은 짧은 시력을 주는 정확하게 일치에 대한 패턴이).

5.는 경우에 당신은 그것을 사용 중지 또는 결정에 대하여 이유는?
지 않았습니다 CSLA 위해 나의 마지막 프로젝트이기 때문에,내가 믿는 응용 프로그램의 범위에는 너무 많은 혜택을 CSLA 제공합니다.
사용 CSLA 웹 프로젝트입니다.나는 느낌이 다른 기술을 더 적합한 응용 프로그램을 구축에서는 환경입니다.

에 요약하는 동안,CSLA 아무것도하지만 , 고,적절한 시나리오.

희망이 도움이 됩니다!

다른 팁

을 읽은 후 모든 대답을 것으로 나타났는 꽤 몇 가지 사람들은 일부에 대한 오해 CSLA.

첫째, CSLA 지 않는 ORM.어떻게 말할 수 있는 그래서 확실히?기 때문에 록퍼드 Lhotka 밝혔 그것은 자신이 많은 시간에 인터뷰에 .순위Hanselminutes 팟캐스트.보 에피소드는 록과 인터뷰를 했는 상태다.나는 생각이 가장 중요한 사실에 대한 사람들이 이해하기 때문에,거의 모든에 대한 오해 CSLA 에서 흐르는 믿음입니다 ORM 또는 사용하려고 시도하는것으로 하나입니다.

브래드로 걸러 언급에서 그의 대답이 CSLA 객체 모델은 동작이 될 수도 있지만 좀 더 정확히 말하자면 그들은 그들 모델의 동작부터 데이터의 데이터가 필수적입니다.CSLA 지 않는 ORM 기 때문에 완전히 독립적 이야기하는 방법에 대해 귀하의 데이터 저장소입니다.당신 사용하여 어떤 종류의 데이터 액세스 층 CSLA,아마도 ORM.(나는 않습니다.지금 이용할 수 있는 아름답게 작동합니다.)

지금,단위 테스트입니다.는 모든 어려움 단위 테스트 내 CSLA 개체이기 때문에,내가 두지 말라 내 데이터에 액세스 코드를 직접적으로 사업체입니다.대신에,내가 사용하여 어떤 변형의 저장소에 패턴이 있습니다. 저장소에 사용되 CSLA,지 않습니다. 교환에 의해서 가짜 저장소한 단위 테스트를 사용하여 로컬에 데이터 포털, BOOM! 그것은 간단합니다.(일단 엔티티 프레임워크의 사용이 포코스이 될 것입니다 심지어 깨끗합니다.)

이 모두에서 오는 것을 깨닫고 CSLA 지 않는 ORM.그것을 사용할 수 있는 ORM 지만,그것은 그 자체는 아니다.

환호를 받았다.

업데이트

나는 몇 가지습니다.

어떤 사람들이 있다고 말했 CSLA 은 자세한 정보는 것에 비교해 다음과 같 LINQ to SQL 및니다.하지만 우리가 여기에 사과를 비교한 오렌지입니다.LINQ to SQL is an ORM.제공하는 몇 가지 CSLA 하지 않습니다,그리고 CSLA 제공하는 몇 가지 L2S 하지 않는,통합 및 검증 n계층 지속성을 통해 다양한 원격 데이터에 포털입니다.사실 내가 말하는데 마지막 것은, n계층 지속성을 소중하게 되었습니다.고 싶은 경우에 사용하는 엔티티 프레임워크 또는 LINQ to SQL 하고,네트워크를 통해 나는 뭔가를 넣어 같은 WCF,그 사이에 곱하는 작업과 복잡성을 엄청나게 지점으로,그것은 생각 더 자세한 정보보 CSLA.(지금,나는 팬의 WCF,나머지 및 SOA 지만,그것을 사용하는 당신이 정말로,그것을 필요로 할 때와 같이 노출하는 서비스를 제삼자에게 있습니다.대부분의 라인-of-비즈니스 응용 프로그램,그렇지 않은 정말 필요한 CSLA 은 더 나은 선택이 될 것입니다.) 사실,의 최신 버전으로 CSLA,바위를 제공합 WCFDataPortal, 는데 사용됩니다.그것은 위대한 작동합니다.

나의 팬 솔리드,TDD,및 다른 현대적인 소프트웨어 개발 원칙들을 사용하여 어디서나 실용적이다.그러나 내가 생각하는 혜택의 CSLA 능의 일부는 반대의 사람들 orthodoxies,그리고 어떤 경우에 한하게 관리하 CSLA 일(고 쉽게)함께 TDD,그래서 그게 문제가 되지 않습니다.

Yes,I(um,우리는)광범위하게 사용하는 모델의 비즈니스 프로세스는 논리적으로된 형태에서 윈도우 forms 응용 프로그램입니다.응용 프로그램이었 거래 시스템입니다.CSLA 이 될 수 있도록 설계에서는 레이어 아래 UI.

당신이 생각하는 경우에 대해 표준의 복잡한 라인-of-비즈니스 응용 프로그램을 수 있는 형식으로 많은 분야에,많은 사람들을 위해 규칙 분야(을 포함하여 현장 검증규칙),당신은 당신을 호출할 수 있는 모달을 대화정을 자식 개체할 수 있습을 할 수 있을 취소할 수 있습 같은 대화하고 다시 되돌아갈 이전 상태로 되돌립니다.CSLA 지원합니다.

그것은 단점이 있는지의 학습 곡선입니다.

중요한 것은 기억을 사용하는 것입 CSLA 는 방법을 모델링 사용자 상호 작용으로 형성에 어떤 응용 프로그램.가장 효율적인 방법으로 나를 위해 설계하는 것이었 UI 고 그것을 이해하의 흐름,행동 및 검증을 규정하기 전에 건물의 CSLA 개체입니다.없 CSLA 개체 드라이브의 UI 와 디자인이다.

우리는 또한 매우 유용하게 사용할 수 있 CSLA 비즈니스 개체 서버 측의 유효성을 검사체에서 보내는 클라이언트입니다.

또한 우리에게는 내장 메커니즘이 유효성 검증을 수행하에 대하여 비동기적으로 웹 서비스(즉인 신용 제한 범위의 상대방에 대 한 마스터).

CSLA 적용 강력한 분리 사이로 UI,businesslogic 를 갖습와 끈기와 우리가 쓴의 부하에 대한 단위 테스트를니다.그것은 되지 않을 수 있습니다 엄격 TDD 기 때문에 당신이 운전하는 그것이 UI 디자인에서,그 의미하지 않지 시험을 할 수 있지요.

유일한 대안은 자신의 모델을 만들\사업체이지만,곧 당신이 끝까지 기능을 구현하는 것 CSLA 스(INotifyPropertyChanged,IDataErrorInfo,pushstate 으,PopState etc.)

내가 사용 CSLA 에 대한 하나의 프로젝트 및 근무한 자세한 정보를 이용할 수 있는 것이 훨씬 간단하고 깔끔.

는 대신 귀하의 팀을 쓰기 사업체에서는 자신의 서로 다른 개인적인 스타일 우리가 알고 있는 일반적 표준 작업을 한다.

//andy

했던 경험을 가진 그것은 몇 년 전입니다.그것은 화려한 건축물이지만,매우 복잡하고,이해하기 어려운 또는 변경,그리고 문제 해결의 대부분은 우리를 개발하는 웹 기반의 응용 프로그램 반드시 없어.그것이 더 많이 개발을 위해 윈도우 기반의 응용 프로그램 및 취급 다중 레벨을 취소,무거운에 중점을 트랜잭션 논리입니다.당신은 아마 사람들이 말을 듣고 그 이후 웹 응용 프로그램은 요청-응답 페이지 수준에서 그것이 부적절하지만,AJAX-style web apps 어쩌면 이 인수지만 너무 많은 물.

그것은 매우 깊은 물체 모델,그리고 시간이 걸릴 수 있습니다 정말로 감싸 당신의 두뇌니다.물론 많은 변경할 수 있습니다.나는 소 다른 최근니다.

모든 것으로 간주,이지의 선택은 건물입니다.

에서 방어의 CSLA 지만,나도 동의하의 의견되었습니다 특히 단위 테스트 중...

나의 회사는 광범위하게 사용하 Windows Forms 데이터 항목은 응용 프로그램의 높은 수준의 성공입니다.

  • 그것은 제공자의 기능을 하는 우리는 시간을 가지고 있지 않거나 전문 지식을 쓰는 자신이다.
  • 그것은 표준의 모든 비즈니스 개체를 유지하기 쉽고 및 감소에 대한 학습 우리의 새로운 개발자입니다.

에 내가 말하는 것이 어떤 문제가 발생하는 것보다 더 있었 outwayed 로 혜택입니다.

업데이트:또한 우리는 여전히 사용에 대한 우리의 윈도우 폼용 실험과 함께 사용하는 다른 응용 프로그램 같은 웹 사이트도 있다는 것을 보여주었습니다 아마도록 복잡하지 않을 때에 많이 필요 기능 그리고 우리는 지금 조사 가벼운 무게에 대한 옵션은 이러한 시나리오를 보여 줍니다.

가 팀에 합류가 CSLA 은 필수입니다.우리는 사용하지 않는 원격 데이터에 포털은 이에 동의하의 사용에 대한 이 framework.내가 구입하지 마십시오의 아이디어로 CSLA 그래서 어쩌면 그 이유는 내가 아무것도 하지만 문제는 그것으로 죄송합니다.

부부의 문제는:

이 필요하지 않도록 내 코드와.NET framework 는 이 프레임워크 같은 느낌이다.나는 옵션을 제한의 목록을 개체하는 동안,나는 그냥 무시하는 풍부한 목록에서 객체.NET framework.

Ii 은 완전히 말도 우리는 이러한 읽기만 나열하고 다음을 비 읽기만 목록이 있습니다.그래서았다면 항목을 추가 목록을 다시 만들 전체 목록은 심각하십니까?

다음 csla 를 관리하고 내체 상태는 좋지만 아무것은 정말 노출됩니다.때로는 변경하고자 하는 인체 상태는 대신 수동으로 가져 오는 그것을 다시는 것 같아 무엇 csla 원한다고요.기본적으로 내가 만드는 결국 많은 재산을 노출하는 옵션 csla 지 않았다고 생각해 직접 액세스 할 수 있습니다.

왜 나는 단지 개체를 인스턴스화?우리가 만드는 정적 방법 인스턴스화하는 객체에 다시 전달합니다 정말 몰라요?

체크인 프레임워크 소스 코드 및 그 중에 리플렉션 코드다.

을 사용하는 이유 csla:

  • 의 직선입니다.net 프레임워크가 너무 강력한다.
  • 의 개발자들이 노련한 수 없는 개념을 파악하의 패 csla 이 꽤 많은 모두 동일한 페이지에 표시합니다.

    1. 이 필요하지 않도록 내 코드와.NET framework...나는 나는 이러한 목록을 개체입니다.

을 사용하기 시작했습 CSLA 기 때문에 우리는 생각은 그것이 도움이 될 것으로 우리의 모델은 레이어입니다.종류의 과잉과 대부분은 모두 우리가 사용하는 지금은 SmartDate 클래스고 있기 때문에 우리는 이미 연결되어 있습니다.

우리가 생각하는 검증 인터페이스는 정말 도움이 될 것이 우리에게 비즈니스 규칙을 적용하지만 그것은 작동하지 않았으로 잘 WCF 및 직렬화(우리는 여전히 발전 2.0.3.0,그래서 일이 변경되었을 수 있).

하지 않 CSLA 의 목록은,하지만 그것을 사용하기 전에,연구의 혜택을 확인들은 정말로 적용됩니다.귀하의 팀을 할 수 있게/지속적으로 구현하지?원격 기능과 포털 춤을 필요합니까?

나는 생각을 넘어 모든 이론을 깊이 생각,그것은 모두에 대해 깨끗한 유지 보수///확장 가능한 코드는 다음과 같은 기본 입증된 패턴이 있습니다.

내가 계산 라인의 코드를 필요에 특정 도메인 프로젝트의 변환에서 CSLA.사이 모든 다른 CSLA 체(readonly+편집+루트+목록 조합)및 그들의 저장 프로시저 이것은 거의 1700 라인,대 Linq2SQL+저장소 구현했 180 라인입니다.이 Linq2SQL 버전으로 구성 대부분의 생성되는 클래스가 귀하의 팀을 필요가 없는 소모 예약을 이해합니다.그리고 그렇다,나는 사용 CodeSmith 를 생성하 CSLA 부분을,그러나 나는 이제 믿는 건조한 코드와 함께 하나의 책임 비트,그리고 CSLA 구현을 지금처럼 내게 보이는 어제 영웅입니다.

에 대한 대안으로 제안하고 싶으로 찾고 있 Linq2Sql/엔티티 프레임 워크/NHibernate 와 결합 된 저장소 및 UnitOfWork 패턴이 있습니다.보 http://www.codeplex.com/backgroundmotion

Cheers!

우리의 회사는 실 CSLA 에서 일부는 그것의 프로젝트 및 일부 유산의 프로젝트에 남아 있을 수 있 CSLA.다른 프로젝트에서 이동하기 때문에 그것 CSLA 위반 보통과 간단한 OOP 률:하나의 책임을 원칙으로 합니다.

CSLA 체가 자립,예를 들어,들을 검색하는 자신의 데이터,그들은 자신들의 행동,그들은 자신을 저장.불행히도 이미 당신의 평균 CSLA 개체에 적어도 세 가지 책임--나타내는 도메인 모델을 포함하는 비즈니스 규칙을 포함하는 데이터 액세스를 정의하지 않는(DAL,또는 데이터 액세스를 구현으로,이전 명시/암시)모두에서 동일한 시간입니다.

우리가 사용하는 CSLA 습니다.몇 가지 이점이 있습니다;첫째,내가 믿는 모든 줄의 비즈니스 개발자를 읽어야 한 바위 Lhotka 의 책에서 비즈니스 개체 프로그래밍입니다.나 개인적으로는 것을 발견서 제 3 프로그래밍 책니다.CSLA 는 프레임워크 기반으로 이 책과 그것을 사용하여 당신의 프로젝트에 액세스하는 매우 높은 수준의 기능을 n 수준의 취소,규칙과 확장성을 건축하는 동안에 대한 세부 정보를 제공하고 당신입니다.통지 내가 말했듯이"제공"과"숨".내가 찾는 최고의 일부 CSLA 는 당신의 방법을 이해하 이 모든 것들이 구현한 다운 소스 코드 없이 만드는 모습을 재현하다.당신이 선택할 수 있으로 사용하는 많은 또는 몇 가지 기능을 필요로 하지만 나는 지속적으로 실천하여 디자인 패턴의 프레임워크,그것은 정말 당신의 문제입니다.--바이런

우리가 사용하여 CSLA 이제 다섯 년 이상이고,우리는 생각은 그것을위한 훌륭한 작품을 구성하는 비즈니스 응용 프로그램.와 결합된 코드를 생성할 수 있을 만들 비즈니스 개체에서 비교적 짧은 시간 및 초점은 귀하의 노력에 육류 의 응용 프로그램.

사용 했습니다 CSLA 이후 vb5 되었을 때,그 이상의 컬렉션의 패턴보다 그것은 프레임워크입니다.으로 소개 of.NET,CSLA 설정으로 본격적인 프레임워크와 함께 제공되는 무거운 학습 곡선입니다.그러나,CSLA 주소는 많은 것들이 모든 비즈니스 개발자가 작성 하는 경향이 스스로 어떤 점에서(에 따라 프로젝트 범위):유효성 검사 논리 인증의 논리,기능을 취소하고,더러운 논리,등등.이러한 모든 것을 무료로 사용할 수 있는 상자에서 하나의 좋은 framework.

다른 사람으로 읽을 수 있는 프레임워크,그것은 개발자가 작성하는 비즈니스에서 논리와 비슷한 패션이다.그것은 또한 당신을 강제 추상화 수준을 제공하는 귀하의 비즈니스에 대한 논리,그래서는 사용하지 않 UI 프레임워크 등의 MVC,MVP,된 이가 그렇게 중요하지 않습니다.

사실,저는 것이라고 주장한 이유가 왜 그렇게 많은 이러한 UI 패턴은 그렇게 흥 오늘(Microsoft 세상)사람들이 하고 있는 물건을 믿을 수 없을만큼 잘못된 오랫동안(즉,., 사용 DataGrids UI 에서 뿌리는 귀하의 비즈니스 로직다.tisk tisk).디자인하는 중간 계층(비즈니스 논리)정확하게 시작에서,당신은 다시 사용할 수 있습니다 중간 계층에 어떤 UI.승 양식 ASP.NET/MVC WCF 서비,WPF,Silverlight**,윈도우 서비스,....

하지만 이외에도,거대한 보수에 대한 나에게되었다 그것은 내장 능력을 확장합니다.이 CSLA 사용하는 프록시는 패턴을 구성을 통해 귀하의 config 파일에 있습니다.이것은 당신의 사업체에게 원격 통화에서 서버를 작성하지 않고도 하나의 코드입니다.사용자를 추가하는 시스템?문제 없습니다,배포하 CSLA 사업을 새로운 응용 프로그램 서버 설정파일 항목을 변경 BAM!!인스턴트 확장성을 필요를 충족시켜.

이를 비교하여 DTO 의 저장,당신의 사업 논리의 클라이언트에(어떤 클라이언트가 있을 수 있습니다)하는 데에 쓰기의 각각 자신의 CRUD 방법으로 서비스 방법이 있습니다.아!!!이것을 말하고 있지 않다가 나쁜 접근 방식이지만,I wouldn't want to do it.하지 않을 때가 있 프레임 워크를 기반으로하는 본질적으로 할 수 있습니다.

나 되는 무엇이 다른 사람들이 말하는 CSLA 지 않는 ORM.CSLA 힘 당신은 귀하의 공급업체데이터를 활용하고 있습니다.그들은 걱정하지 않는다 당신이 얻을 수 있습니다.를 사용할 수 있습니다 ORM 공급업체데이터를 활용하고 있습니다.사용할 수도 있습니다 원 ADO.NET 다른 서비스(편안하고,비누),excel 스프레드시트,나 유지할 수 있습니다.

로에 대한 지원을 위한 TDD,나는 결코 사용하는 방식으로 CSLA 다.나는 방법이 나는 내 모델는 중간 계층(ala 비즈니스 개체)를 사용하여 클래스 다이어그램 및 시퀀스 다이어그램,가장 자주 사용할 수 있도록 하는 경우,스크린 및/또는 디자인 프로세스를 지원합니다.아마도 조금 오래된 학교이지만,UML 는 항상 저에게 아주 잘 나는 디자인과 개발에 노력합니다.나는 성공적으로 설계 및 개발이 매우 크고 확장 가능한 응용 프로그램은 여전히 오늘날 사용되고있습니다.까지 WCF RIA 성숙,나를 계속 사용 CSLA..

**일부와 함께 작동하거나 우회하는 방법

나는 새로운 CSLA 그러나 저는 개념을 이해하고 나는 이미 이해하지는 않지만 ORM 도구를 종료를 치고 빌어 먹을 드럼 사람들입니다.있는 기능의 CSLA 내가 좋아하지만 그들을 사용하여 같은 느낌 있는 마술 뒤에 커튼이 있습니다.나는 생각하지 않는 경우 마음에 대해 모르고 그것이 어떻게 작동할 수 있습니다 다음 사용합체 및 그들은 잘 작동합니다.

가 큰 학습 곡선 초고 나는 생각한 것이 크게 도움으로써 5-15min.동영상과 같은 Microsoft 에 대한 기본 사항을 학습.또는 방법에 대해 풀어 놓이자 책으로는 코드 대신에 코드를 발표하고 개월을까?그냥 선생님 미스터 Lohtka...우리가 시작된 건물은 우리의 물건이 전에 예약하고 힘겨웠습니다.하지만 내가 말했듯이,새로운 해요합니다.

우리가 사용 CSLA.우리는 우리의 개체에 맞게 자신의 형 다음 사용하의 10%무엇인 프레임워크 제공합니다.개체 수준을 취소?를 사용하지 않았습니다.N 계층의 유연성?를 사용하지 않았습니다.결국 우리를 쓰는 충분한 비즈니스 원칙 코드를 생각하는 것이 유일한 것은 우리는 점점 CSLA 었 복잡합니다.일부"장에서"이는 개발자가 알고있는 데 사용되는 프레임워크는 그것으로 자신의 망치 있었기 때문에 그들은 못하는 데 필요한 타격입니다.CSLA 었에서 자신의 벨트고 내 생각을 많이의 지지자의 프레임워크에서 볼 수 있는 관점을 너무입니다.

나는 우리의 노련한 개발자는 행복하기 때문에 그것은 모든 감각이다.내 생각하는 경우 귀하의 조직이 없는 초보 프로그래머와 너희들은 지루해 작성하여 효율적이고 간단한 POCO 체로 형성된 패턴,그리고 그것을 위해 이동합니다.사용 CSLA.

내가 사용하 CSLA 으로 비즈니스 개체 프레임워크에 대한 중간 크기의 프로젝트입니다.프레임워크가 오는 길에서 VB6 일과 제공하는 특별한 양의 유연성과"상자에서"기능이 있습니다.CSLA 의 모바일 스마트 개체 UI 개발을 훨씬 더 쉽습니다.그러나 나는 다른 사람에게 맞지 않는 도구를 위해 모든 상황입니다.약간의 오버헤드가 있 관련이지만,또한 많은 힘이 있다.개인적으로,나를 사용하여 기대하고 CSLA 빛 Silverlight.

장점:

  • 데이터술 독립적인1
  • 큰 설치 기반 그리고 그것은 무료입니다!!
  • 안정적이고 논리적 framework
  • 데이터 액세스 코드를 수 있습니다 당신의 개체 또는 별도의 어셈블리
  • 객실 및 객체 검증 및 허가

단점

  • 코드는 많은 수 있습 유지2
  • 아마가 필요한 코드 생성을 효과적으로 사용
  • 학습 곡선입니다.의 구조 CSLA 체를 이해하기 쉽게 하지만,주의 사항을 만들 수 있습니 두통.


는 테스트 중심의 디자인이다.지 단위 테스트는 테스트 중심 디자인(부끄러운 나),그래서 내가 알지 못하는 경우에 단위 테스트는 서로 다른 것보다 TDD,하지만 제가 알고 있는 최신 버전의 프레임워크와 함께 제공 단위 테스트를 확인할 수 있습니다


1 좋은 일이기 때문에 데이터 액세스 기술을 적은 동일한다.
2 이것은 더 나의 최신 버전으로합니다.

많은 사람들이 추천한 코드를 사용하여 발생 CSLA.내가 권하고 싶을 확인 우리의 집합 지원하는 템플릿으로 그들은 귀하의 투자 수익을 높일 대단히.

감사 블레이크 Niemyjski(의 저자 CodeSmith CSLA 템플릿)

내가 그것을 사용하는 프로젝트에 대해 몇 년 전입니다.하지만 프로젝트가 수행되었다,나는 말할 수 없는 사람은 무엇 CSLA 주었습니다.확실히,나는 상속에서 해당 클래스입니다.그러나 내가 제거할 수 있는 상속에서 거의 모든 클래스에 없는 구조 조정이다.우리가 사용하는 N-Tier 물건입니다.N 취소 수준이었다 너무 느려서 사용할 수 없습니다.그래서 나는 생각 끝에 그것은 단지 우리를 도와 모델 우리의 클래스입니다.

을 말하고,다른 팀을 사용하기 시작했다(후 무서운 시도가 팀에 의해 자신을 만들 framework).그래서 거기 뭔가 가치가 있기 때문에,그들은 모두 똑똑 나보다!

나 PHP 사람입니다.우리가 시작했을 때 건물에 비교해 보면 대규모 응용 프로그램 PHP,연구를 시작에 많이 응용 프로그램 프레임워크 및 ORMs 기본적으로 PHP 에서는 세계에서 다음,Java.NET.그 이유는 내가 또한 보 Java.NET 프레임워크하지 않았을 맹목적으로 사용하여 어떤 PHP framework,하지만 먼저 이해하려고 노력에 무슨 일인지,그리고 어떤 종류의 엔터프라이즈 수준의 아키텍처가 있습니다.

지 않았기 때문에 사용 CSLA 에서 실제 응용 프로그램,내가 할 수 있습에서 장점과 단점이지만,무엇을 말할 수 있 Lhotka 은 드문 사상가-을 말하고 있지만 전문가에 소프트웨어 아키텍처 분야이다.이름 도메인 중심의 디자인에 의해 만들어 낸 에릭 에반스-런데 자신의 책은 또한 좋고 나는 겸손하게 조언을 읽어-Lhotka 을 적용하고 있었 도메인 중심의 디자인이 동안.즉,당신이 무엇을 생각에 대한 자신의 프레임워크 혜택에서 자신의 깊은 아이디어에서 필드입니다.

찾을 수 있습니다 그의 이야기에 dotnetrocks.com/archives.aspx 동영상 dnrtv.com/archives.aspx (검색에 대한 Lhotka).

@Byron 무엇이 다른 두 권의 책을 좋아?

John,

우리는 작업 팀에 CSLA2~3.5 고 그것을 발견한 방법을 제공하는 일관성 framework 그래서 모든 개발자가"그것을 같은 방법으로".그것은 위대한의 가장 저렴한 가치 코드가 생성되어 우리가 알고 있을 때 우리는 실행 단위 테스트들이 일에 대한 상자의 모든 지난 물건입니다.우리는 우리의 TDD 정말로 제공하는 refactoring 우리는 디자인,그리고 CSLA 지 않에서 우리를 방지 하고 있습니다.

Chris

나는 마지막 시도를 사용 CSLA 석기 시대에서 일 VB6.에서 생각해 보면,그것은 더 효과적인 경우에 사용했다고 코드가 생성됩니다.이 없는 경우에 효과적인 코드 생성 도구와 전략에 대한 피팅으로 그들을 당신의 워크플로,그들은 당신이 피해야 프레임워크는 다음과 같 CSLA,그렇지 않으면 얻을 수있는 기능에서 CSLA 하지 않을 것에 대한 양의 시간을 쓰 n 라인의 코드 테이블당,n 라인의 코드를 열당,etc.

사 CSLA.NET 몇 프로젝트는 지금,그것은 대부분의 성공적인 windows forms 응용 프로그램에서는 풍부한 데이터 바인딩 compatabilities(는 asp.net 응용 프로그램의 없).

그것의 주요 문제는 TDD 지원과 같은 사람들을 가리키고,이 때문입자처럼 행동에 대한 Dataportal_XYZ 기능 및 그것의 무능력을 허락하는 모의 데이터를 객체입니다.가 있었 노력이 이 문제를 해결과 최고의 접근 방식

나는 그것을 사용하고 싶었지만,나의 지도자 아이디어는 너무 많은'매직'참여했...

CSLA 는 최고의 애플리케이션 프레임워크가 존재합니다.Rocky LHotka 은 매우 그러나 매우 똑똑합니다.그는 쓰는 역사의 소프트웨어 개발 Martin Fowler,David S 플랫지만,나의 즐겨 찾기에 작가가 막대 스티븐스,맥도날드 매튜 제프 레빈슨 thearon 윌리스와 루이 데이비슨 별칭 dr sql.:-) 장점:모든 디자인 패턴을 적용됩니다.단점:열심히 배우고,몇 샘플입니다.

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