Giter Site home page Giter Site logo

Library flexibility about unleash-client-go HOT 4 CLOSED

unleash avatar unleash commented on July 19, 2024
Library flexibility

from unleash-client-go.

Comments (4)

ivarconr avatar ivarconr commented on July 19, 2024

Hi @avirogalsky, the general idea is that Unleash comes with a set of defined context fields. In addition the user may define their own, which can be attached as the properties map. These will also be available in the strategy implementation.

I am not sure if I understand what you are trying to achive by changing the implementation in to an interface?

from unleash-client-go.

avirogalsky avatar avirogalsky commented on July 19, 2024

Hi @ivarconr, 2 reasons:

  1. If it would be replaced by interface then custom strategies implementation may be much more flexible, like moving a function as part of context.
  2. I want to create an addon library for custom strategies by just implementing some interface, but now the Strategy interface depends on Context struct. So the addon library must be dependent on unleash-client-go and will to be updated each time we will want to update unleash-client-go library.

from unleash-client-go.

jrbarron avatar jrbarron commented on July 19, 2024

@avirogalsky I can see how using an interface instead of a struct would give you more flexibility here, but I don't think we could make this change in the v3 branch because it would break compatibility for existing custom strategies that use the struct. We have a branch called wip/v4 where we have been putting some changes that would break API compatibility, but it has not been updated in some time. If you decide to create a PR, I would recommend targeting that branch.

I think we would like to release the v4 client in conjunction with the v4 server to avoid confusion, but I'm not sure what the current status is for the v4 server. Perhaps @ivarconr has some comments on that.

from unleash-client-go.

avirogalsky avatar avirogalsky commented on July 19, 2024

Thanks @jrbarron, indeed breaking API in v3 is a bad idea.
I will get back to it once the v4 will be more relevant.

from unleash-client-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.