0

개발중인 응용 프로그램의 사양 중 하나는 프로젝트 파일과 함께 작동해야한다는 것입니다. 프리즘과 유니티를 사용하여 가능한 한 느슨한 응용 프로그램을 만들기 위해 노력하고 있으므로이 요구 사항을 어떻게 충족 시킬지 궁금합니다. 어떤 구현을 사용할지 결정할 수 없습니다. 프로젝트 파일 생성 및 관리 (프로젝트 파일로드, 저장 등).C# - 응용 프로그램 별 프로젝트 파일 만들기 및 관리

응용 프로그램은 SEO 도우미가되어 Uri 및 인터넷에서 가져올 문자열과 같은 텍스트 정보를 대부분 처리합니다.

내가 사용 가능한 몇 가지 구현 생각 :

- 프레임 워크 System.Configuration 네임 스페이스. 이것은 새로운 ConfigurationSection을 Configuration 객체에 쉽게 연결할 수 있으므로 처음 옵션입니다. 단점은 추상화를 위해 인터페이스를 사용하는 데 기회가 없다는 것입니다.

b - 각 프로젝트에 대한 데이터베이스를 만들고 파일로 저장하십시오. 이 구현을 통해 nHibernate 나 다른 객체 (제안에 개방)와 같은 데이터베이스 프레임 워크를 사용하여 객체 - db 매핑을 처리 할 수있었습니다.

c - 여기에 자신의 이름을 추가하십시오.

제 질문은 여러분이 내가 플러그인하는 모든 모듈의 다른 설정/설정을 처리하고 URL의 큰 목록을 유지하기 위해 약 10k ~ 100k URL의 목록을 오랫동안 사용하는 것이 더 좋을 것이라고 생각합니다. 다른 설정?

미리 감사드립니다.

답변

1

가장 간단한 방법은 ProjectSettings {...}와 같은 고유 한 유형 (클래스)을 정의하고 선호하는 직렬 기 (예 : XML)를 사용하여 직렬화/비 직렬화를 수행하는 것입니다.

그런 다음 멋진 ORM이나 구성이 필요하지 않습니다. 필요없는 부분을 복잡하게하지 마십시오.)

+0

"당신이 그것을 필요로하지 않는 곳에서 복잡성을 도입하지 마십시오"라고 말했을 때 정말 좋아했지만 설정 객체 직렬화가 쉽지 않았습니다. 때로는 프레임 워크 클래스를 직렬화 할 수 없으며 Uri, 사전, 목록 및 기타 여러 유형에서 발생합니다. System.Configuration.Configuration 클래스는 직렬화 할 수없는 클래스의 종류를 쉽게 직렬화 할 수 있지만 다시 코드 arround concrete 클래스를 너무 많이 묶을 것입니다. 어쨌든 고마워! –

+0

다른 솔루션을 구현하는 방법을 파악하기 전에 설정 클래스의 serialization을 수행하기로 결정했습니다. 이 특별한 경우에는 XmlSerializer 클래스 대신 BinaryFormatter를 사용하기로 결정했습니다.이 클래스는 인터페이스 및 사전과 같이 직렬화 할 수없는 클래스를 다루기가 힘든 모든 사람들에게 잘 작동합니다. 마지막으로, 현명한 말에 감사 드리며, 내가 이와 같은 의심의 상황에 직면했을 때부터 생각 나게하는 것들입니다. 감사! –

0

구성 파일은 수십개의 구성 변수가있을 때 좋은 해결책입니다 ( 하지만 여기서는 데이터베이스를 가지고있는 것이 더 낫습니다. 왜? 10-100k URI에서 일부 수정을 원한다면 어렵습니다. 그리고 오류는 쉽게 될 것입니다. 데이터베이스 (프로젝트에 대한 하나의 테이블, 문자열 연결에 대한 하나의 테이블, 다른 URI에 대한 ..), 그것은 쿼리, 업데이트, 그것을 CRUD 쉽게 될 것입니다 .당신은 데이터베이스의 데이터베이스를 사용해야합니다 엔티티 간의 관계로 인해 하나의 프로젝트에 많은 파일이 포함됩니다 (하나의 프로젝트에 많은 문자열 연결, 많은 URI가 있습니다 ...) ORM의 경우 Entity Framework 4.0은 POCO (엔티티 클래스의 메타 데이터가 매핑되지 않음)이므로 최고 관련성이 있음

+0

Entity Framework를 잊어 버렸습니다. 그래도 사용할 구현을 결정하기 전에 몇 가지 다른 제안을 기다리고있을 것입니다. 감사! –

+0

Denis를 도와 드리겠습니다 –