Tôi đang xây dựng một trình giả lập phân tích một số sự kiện từ đó STDIN
và "chạy" chúng. Nền tảng của tôi chủ yếu là lập trình chức năng những ngày này, vì vậy có vẻ tự nhiên để làm một cái gì đó như thế này:
data Event = Thing1 String Int | Thing2 Int | Thing3 String String Int
Parse :: String -> [Event]
Simulate :: [Event] -> [Result]
mô phỏng ở đâu
case event
of Thing1 a b => compute for thing one
| Thing2 a => compute for thing two
v.v ... Cách thành ngữ để làm điều này trong Java là gì? Googling đã chỉ cho tôi theo hướng các lớp lồng nhau và mô hình khách truy cập, nhưng điều đó có vẻ khá nặng nề trong nỗ lực của tôi. Loại tẩy xóa dường như đang chiến đấu với tôi, khó khăn. Bạn có thể chỉ cho tôi một phác thảo về những gì sẽ trông giống như được thực hiện chính xác?
Event
loại có tương đương về mặt khái niệm với việc có mộtInt
và haiMaybe Strings
không?