Size: a a a

2021 March 31

((

(fun () -> ()) in pro.elixir
источник

AD

Anastasiya Dyachenko in pro.elixir
(fun () -> ())
аргументы функции проходили, устали
Я тоже через конфиги делаю
источник

((

(fun () -> ()) in pro.elixir
вот такой подход сейчас использую если надо DI, но не как в ООП
источник

AC

Andrew Cherabaev in pro.elixir
выглядит интересно, почитаю)
источник

((

(fun () -> ()) in pro.elixir
Anastasiya Dyachenko
Я тоже через конфиги делаю
а если надо использовать паттерн стратегия? конфиги не помогут же
источник

T

Tharin in pro.elixir
Немного вам про dependency injection и явные контракты: http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/
источник

((

(fun () -> ()) in pro.elixir
Andrew Cherabaev
выглядит интересно, почитаю)
если F# не понятно, то предлагают сделать один объект (контракт) и потом его раздавать там где надо
источник

T

Tharin in pro.elixir
И вот ещё тем, кто любит ООП и хочет затянуть его в эликсир - отличное и познавательное видео: https://youtu.be/rmftOs2BzgU
источник

T

Tharin in pro.elixir
Не благодарите :3
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Питон слишко мультипарадигменный. Каждый пишет как хочет. Очень мало пишут ООП
источник

T

Tharin in pro.elixir
Źmićer Rubinštejn
Питон слишко мультипарадигменный. Каждый пишет как хочет. Очень мало пишут ООП
Я, например, хочу на нём не писать. И не пишу.
источник

AD

Anastasiya Dyachenko in pro.elixir
(fun () -> ())
а если надо использовать паттерн стратегия? конфиги не помогут же
почему не помогут?
источник

((

(fun () -> ()) in pro.elixir
Anastasiya Dyachenko
почему не помогут?
loadUser варианты лоада MongoDb, API, Filesystem
источник

((

(fun () -> ()) in pro.elixir
три реализации, которые хочу менять
источник

((

(fun () -> ()) in pro.elixir
и не переписывать код
источник

((

(fun () -> ()) in pro.elixir
я не силён в Elixir ещё, но как можно конфигами такое поменять?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
(fun () -> ())
loadUser варианты лоада MongoDb, API, Filesystem
Делаешь behaviour user_loader, реализуешь в трех модулях. Потому в конфиге пишешь


config MyApp,
  user_loader: MongoUserLoader

Потом пишешь внутри своего loadUser


Application.get_env(MyApp, user_loader).loadUser
источник

AD

Anastasiya Dyachenko in pro.elixir
(fun () -> ())
loadUser варианты лоада MongoDb, API, Filesystem
менять можно, но другой вопрос что менять реализацию в рантайме это странное решение
источник

AD

Anastasiya Dyachenko in pro.elixir
в конкретно этом варианте лучше через аргументы наверно
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Anastasiya Dyachenko
менять можно, но другой вопрос что менять реализацию в рантайме это странное решение
помоему он не сказал слово runtime
источник