投稿者 たかくん  (社会人) 投稿日時 2012/5/13 19:15:13
今晩は、今日は今ある疑問を例題にしてみました。
以下を見て下さい。

Public Class EventTest

    Private ProcessLoop As Timer = New Timer

    Public Event VelifyEvent(ByVal nowint As Integer, ByVal maxval As Integer)

    Public Sub New()
        Me.ProcessLoop.Interval = 1000
        Me.ProcessLoop.Start()
        AddHandler Me.ProcessLoop.Tick, AddressOf Me.Process
    End Sub

    Public Sub Process(ByVal sender As System.Object, ByVal e As System.EventArgs)
        For cnt As Integer = 0 To 1000
            RaiseEvent VelifyEvent(cnt, 1000)
        Next
    End Sub
End Class

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Test As EventTest = New EventTest()
        AddHandler Test.VelifyEvent, AddressOf Me.VelifyEvent
    End Sub

    Private Sub VelifyEvent(ByVal nowint As Integer, ByVal maxval As Integer)
        If (nowint = 0 And maxval = 0) Then
            Me.ProgressBar1.Value = 0
            Me.ProgressBar1.Maximum = 0
        Else
            Me.ProgressBar1.Value = nowint
            Me.ProgressBar1.Maximum = maxval
        End If
        Me.ProgressBar1.Invalidate()
    End Sub

End Class

これは、処理クラスの動的な処理をFormクラスのメソッドと処理クラスのイベントで連携させたものですがFormをGUIとした時、処理クラスと切り離したいのですが、例えばGUIクラスと処理クラスを別々の人が担当していた場合、このような処理は仕様として処理クラスの人はGUIクラスの人にドキュメントとかで伝えてるのでしょうか?
処理クラスのイベントがどんなイベントか解らないとGUIクラスの処理も書きようがないと思うのですが
実際のグループ開発ではどのようにされてるんでしょうか?
人とゲームを共同で作るのですがこの辺の事が気になるのです。
よろしくお願いします。