IIIlllIIlllIlI
2020-10-30 14:35:55
6
164

C# WPF MVC패턴


제가 MVC로 Serial 통신과 TCP 통신을 만들었는데 Control에서 모델 생성자만 바꾸어서 Serial 통신과 TCP 통신을 실행 시키고 싶습니다.... 코드를 아래에 첨부하겠습니다.

ComPortModel _model = new ComPortModel();

        public Controller(IView view)
        {
            _view = view;

            // Model을 생성한다.
            _model.SetModel(new ClientModel());
            _model.MyEvent += new ComPortModel.MyEventHandler(Receive_Message);
        }

아래와 같이 ComportModel(시리얼 통신 모델)을 메인으로 삼고 Controller에서 _model = new ClientModel();을 선언하면 ComPortModel이 아니라 ClientModel이 실행이 되는 방법을 찾고 있습니다.... 부디 도와주세요 ㅠ

0
  • 답변 6

  • 파랭이
    203
    2020-10-30 14:51:48

    기반클래스 하나 만드시고, 상속, 오버라이딩을 사용하면 어떨가요?

  • 우리사이
    262
    2020-10-30 15:36:39

    인터페이스를 하나 만들고

    두가지 클래스에서 구현하는 방식으로 만들면 어떠세요?


    근데 보통 WPF에서는 MVVM 패턴을 쓰고

    MVC는 ASP.NET에서 쓰는데..

    혼란하네요

  • IIIlllIIlllIlI
    2020-10-30 16:43:16

    @우리사이


    저도 MVC를 하라고 갑자기 과제를 받아서요 ㅠㅠ 근데 인터페이스를 모델단에 선언해서 모델 클래스에 인터페이스를 구현한 다음에 컨트롤러와 어떻게 연동할 수 있나요 ?

  • IIIlllIIlllIlI
    2020-10-30 16:43:45

    @파랭이

    기반클래스라는게 MainModel을 말씀하시는 건가요 ?


    상속, 오버라이딩으로 컨트롤러와 연결하는 건가요 ?

  • 우리사이
    262
    2020-11-01 11:15:12

    질문을 다시 읽어 봤는데요


    _model.SetModel(new ClientModel());

    대신에

     ComPortModel _model = new ClientModel();


    을 원하시는거면 

    ClientModel 에서 ComPortModel을 상속 받으시면 되긴해요


    이전 답변에 인터페이스 얘기도 같은 개념이에요

  • IIIlllIIlllIlI
    2020-11-02 08:06:07

    @우리사이


    따로 interface는 안 써도 되나요 ??


  • 로그인을 하시면 답변을 등록할 수 있습니다.