Giter VIP home page Giter VIP logo

Comments (3)

Timovzl avatar Timovzl commented on June 17, 2024

First thank you for this generator, I tip my hat to you, as I thought of crafting one myself until I found this.

Glad to hear it! I'm curious to know which of the generators you are currently using.

Regarding Blazor WASM consider adding the attribute [UnsupportedOSPlatform("browser")] as AES even as of .net 7 rc2 does not support it, perhaps as a diagnostic report.

Great suggestion. I had not realized that. I'll include the attribute in the 2.0 release.

Please consider a new extension method that would expose a factory method (returning the IPublicIdentityConverter to prevent leakage) so other IoC & DIP approaches can be used.

I am personally aware of only one standard for passing library dependencies into third-party containers: an approach like Autofac's Populate method.

IServiceCollection services;

services.AddDistributedIdGenerator();
// Register packages

autofacBuilder.Populate(services);

// Continue with autofacBuilder to make the solution's own registrations
// Possibly using Autofac's advanced features

This lets you transfer all dependencies registered in the usual way into your Autofac container builder. I presume that other third-party containers have such a feature as well. Perhaps you could check and confirm or deny this.

If the above approach does not turn out to be common, I would consider your suggestion if it is an industry standard. In that case, could you provide some examples of containers suggesting this approach and some class libraries following it?

from architect.identities.

jjhayter avatar jjhayter commented on June 17, 2024

You make a good point, the only one I have uncovered so far is SimpleInjector which by design took this ability away in a few releases since I last used it for a professional client. I distinctly remember reading that they also did not like the CrossWire methodology. That being said I may have jumped the gun on this one.

For public & private projects I have enjoyed the following ones:

  1. This one!
  2. Architect.DomainModeling - We share a lot of the same opinions. I am still digging into the IApplicationService as that is the only area left I haven't looked into.
  3. PureDI - This was actually the generator I was requesting for since its DI at compile time over runtime. I really like this idea of enforcement. I did eventually make a solution for this that worked rather well so it is more like icing at the current time.
  4. JsonByExample
  5. Auto Interface - No more interface files, define your objkect and get an automagic interface backing it for DI (this also plugs into PureDI).
  6. I am also looking into Mockerly

I really enjoyed T4 templates back in the day and it made boilerplate abstraction tasks nearly zero for devs. I would however argue that we've just increased other ceremonies.

Take my star and I'll be on the look out for 2.0.

PS. I have also been using the beta versions for this repo.

from architect.identities.

Timovzl avatar Timovzl commented on June 17, 2024

@jjhayter Thanks for sharing!

the only one I have uncovered so far is SimpleInjector which by design took this ability away in a few releases since I last used it for a professional client

I'm not sure if this is still up-to-date, but it looks like SimpleInjector supports crosswiring too.

PureDI - This was actually the generator I was requesting for since its DI at compile time over runtime. I really like this idea of enforcement. I did eventually make a solution for this that worked rather well so it is more like icing at the current time.

Ah, yes! I must admit that I have no experience with compile-time wiring at all, but it might be promising. Was it doable to integrate this and other libraries?

I'll be on the look out for 2.0.
PS. I have also been using the beta versions for this repo.

The current prerelease versions happen to be perfectly usable, as you've probably discovered. 🙃 I've been using them for some time and am approaching a stable version. You can expect to see it within a few weeks.

from architect.identities.

Related Issues (3)

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.