Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Points of View

Points of View

at Object Design Rough Talks #1

https://gum.co/jspsc

2e7087b86608d4497c209eb9ba14d8f5?s=128

Sho Kusano

April 25, 2014
Tweet

Transcript

  1. Points of View @rosylilly

  2. What’s this?

  3. None
  4. VS

  5. What’s this?

  6. None
  7. None
  8. wow!!

  9. What’s this?

  10. None
  11. Points of View @rosylilly

  12. @rosylilly CTO / Magnet

  13. 1. Modeling

  14. If it walks like a duck and quacks like a

    duck, it must be a duck
  15. QUACK!!!! Duck?

  16. Duck Pigeon Border Coo Coo Coo Coo Quack Quack Quack

  17. Duck Pigeon If it walks like a *** and flies

    like a ***, it must be a ***
  18. Bird

  19. If it be born like a *** and dies like

    a ***, it must be a ***
  20. Living Thing T h e A n y t h

    i n g G o e s
  21. Let’s seek just the right border Coo Coo Coo Coo

    Flies Walks Eats Runs Dies Be Born Pigeon
  22. 2. Viewpoint

  23. Who are your users?

  24. Click Me What happens?

  25. Transfer Money Show Logs Show Amounts

  26. Transfer Money Show Logs Show Amounts SCARY!!!!

  27. Developer User

  28. Communication

  29. Observation

  30. Newbie

  31. ProTips: Marriage

  32. Third Person

  33. First Person

  34. 3. Interaction

  35. Anemic Domain Model ?

  36. Hyperemic Domain Model !

  37. Pigeon Pigeon

  38. Seller Buyer

  39. Giver Receiver

  40. Speaker Listener

  41. User Giver Receiver Seller Buyer Listener Speaker

  42. Item Recover Accessory Weapon Protector Helmet Boots

  43. Classify and Divide

  44. 4. Context

  45. User Giver Receiver Seller Buyer Listener Speaker

  46. Seller Buyer

  47. Seller Buyers

  48. Buyer Sellers Sellers Sellers Sellers Sellers

  49. Look the borders of contexts

  50. 5. Mental Model

  51. None
  52. (3&&

  53. None
  54. VS Microsoft Apple

  55. VS Window Apple

  56. 6. DCI

  57. YOU ARE READY

  58. Data

  59. Context

  60. Interaction

  61. 7. in REAL WORLD

  62. WE ARE READY

  63. BluePrint IUUQTHJUIVCDPNNBHOFUJODCMVF@QSJOU

  64. class StaffContext < BluePrint::Context active_if do |env| current_user.try(:staff?) end end

    Context
  65. # app/blue_prints/staff_context/staff_user.rb module StaffContext::StaffUser extend BluePrint::Behavior ! def user_name; "staff";

    end end ! # app/models/user.rb class User < ActiveRecord::Base def user_name; "#{name} san"; end end ! user = User.new(name: "Magnet") StaffContext.deactivate! user.user_name # => "Magnet san" StaffContext.activate! user.user_name # => "staff" Interaction
  66. GOT AXES?