рддреЗрдЬреА рд╕реЗ рдЖрдк OOP рдХреЛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдФрд░ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИред


рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдПрдХ рдмрд╣реБрдд рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдХреИрд▓рд┐рдлреЛрд░реНрдирд┐рдпрд╛ рдореЗрдВ рд╣реА рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддрд╛ рд╣реИред

- рдПрджреНрдЧрд░ рд╡реАрдмреЗ рдбрд┐рдХреНрд╕реНрдЯреНрд░рд╛

рд╢рд╛рдпрдж рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реА рднрд╛рд╡рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдорд╛рдирдХ, рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреНрд░рддрд┐рдорд╛рди рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рдкрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдСрдирд▓рд╛рдЗрди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдЕрдирд╛рдпрд╛рд╕ рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рд╡реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рдереЗред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХрд┐рддрдиреА рдЖрдХрд░реНрд╖рдХ рд╣реИ рдФрд░ рд╕рддрд╣ рдкрд░ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд┐рддрдирд╛ рдЕрджреНрднреБрдд рд▓рдЧрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдЬрд╛рджреВ рдХреЛ рдирд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдХрдИ рд╕рд╛рд▓ рд▓рдЧ рдЧрдП, рдФрд░ рдЕрдм рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рдХрд┐ рд╡рд╣ рдХрд┐рддрдиреА рднрдпрд╛рдирдХ рдФрд░ рдХреНрдпреЛрдВ рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░рд╛ рд╕реНрдкрд╖реНрдЯ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдУрдУрдкреА рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд╣рд▓реЗ OOP рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ, рдФрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд▓реЗрдЦ рдФрд░ рд╡реАрдбрд┐рдпреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдореИрдВ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ


. , .

, : -> -> . ! , , : , . . , , .

, , , . , . Customer? class Customer. ? class RenderingContext.

┬л┬╗ , , , . . .


, . , . FizzBuzz Enterprise Edition тАФ , .

, тАФ . . - , .


, . .

class Customer class Order, . class OrderManager Order, Customer. , , .

, , , .

- , - , , , . Context , - , , - Enterprise.


, . : class Player hits() class Monster, ? hp Monster attackPower Player; xp Player Monster Monster. Player.hits(Monster m) Monster.isHitBy(Player p)? class Weapon? isHitBy Player currentWeapon()?

. , , тАФ . , , Enterprise.


:

тАФ , , . .

, , ( ). : , , , , , . : , .

тАФ , ADT, . , , , .

, , , API .. ┬л┬╗/┬л┬╗/┬л┬╗. , (Java/Scala) / . , , , , , .

-


: , тАФ (). .

, , , , , , . , .

- . , , , . .


, , . .

?


, ┬л ┬╗, , .

. , , , . , : ( , ) ..

, . , DataStore API, . ADT/PoD, ID (, uuid ). : Vec HashMap Index ID, ┬л┬╗, , . , LRU .

DataStore . . : stdin, , trust manager, .. ┬л┬╗ , .. ┬л┬╗ DataStore.

: DataStore , .

: , , , , , Customer . : Customer тАФ DataStore, ┬л-┬╗ .


, тАФ . , / . , :

Source: https://habr.com/ru/post/hi451982/


All Articles