한 클래스 Receiver
은 udp 데이터 그램 (1 초마다 1000 개가 넘는 데이터 그램)을 수신합니다. 이벤트 VS 그냥 메서드 호출?
Consumers
의 수를 첨부 할 수 있습니다
Receiver
public event EventHandler<NewDatagramEventArgs> NewMessage;
protected virtual void OnNewMessage(NewDatagramEventArgs e)
{
if (NewDatagram != null)
NewDatagram(this, e);
}
....
socket.Receive(result)
....
OnNewMessage(new NewDatagramEventArgs(result));
.....
에 같은 코드를 작성해야 OOP한다.
는 실제로 나는 항상 정확히 하나 개의 소비자, 그래서 난 그냥 쓸 수 있습니다 :
socket.Receive(result);
Consumer.Instance.NewDatagram(result);
을 그리고 나는 꽤가 각각 별도의 밀리 초는 여분의 돈을 것입니다 소프트웨어를 거래 있기 때문에 빨리 일을해야합니다.
첫 번째 접근 방법은 얼마나 느린가요? 두 번째 방법은 얼마나 못 생겼습니까?
코드를 멋지게 꾸미고 최신 디자인 패턴을 따르는 것이 좋지만 비즈니스 요구 사항은 처음부터 ** 있습니다. 속도가 필요한 경우 두 가지 방법을 모두 테스트하고 더 빠른 것을 선택하십시오. – dlev