Advertisement
Guest User

Untitled

a guest
Aug 28th, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. namespace Visitor
  2.  
  3. type IPrescription =
  4. abstract member Accept : IPrescriptionVisitor -> unit
  5.  
  6. and IPrescriptionVisitor =
  7. abstract member Visit : PointInTime -> unit
  8. abstract member Visit : Infusion -> unit
  9.  
  10. and PointInTime() =
  11. interface IPrescription with
  12. member this.Accept visitor = visitor.Visit this
  13.  
  14. and Infusion() =
  15. interface IPrescription with
  16. member this.Accept visitor = visitor.Visit this
  17.  
  18.  
  19. type PrescriptionLabelVisitor() =
  20. interface IPrescriptionVisitor with
  21. member this.Visit (prescription : PointInTime) = printf "********** Label for point in time dose\n\n"
  22. member this.Visit (prescription : Infusion) = printf "********** Label for infusion\n\n"
  23.  
  24. type PrescriptionPrintoutVisitor() =
  25. interface IPrescriptionVisitor with
  26. member this.Visit (prescription: PointInTime) = printf "********** Printout for point in time dose\n\n"
  27. member this.Visit (prescription: Infusion) = printf "********** Printout for infusion\n\n"
  28.  
  29. type PrescriptionCsvVisitor() =
  30. interface IPrescriptionVisitor with
  31. member this.Visit (prescription: PointInTime) = printf "********** Csv for point in time dose\n\n"
  32. member this.Visit (prescription: Infusion) = printf "********** Csv for infusion\n\n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement