Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5956685
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T18:17:33+00:00 2026-05-22T18:17:33+00:00

I have a singleton that depends on another class so I’d like to inject

  • 0

I have a singleton that depends on another class so I’d like to inject this dependency in order to make it unit-testable. Since there’s no way to use constructor injection on the singleton I guess I should use setter injcetion instead but I really don’t like it since at some point someone (probably myself) will forget to call the setter. You could of course inject the dependent objects to the singleton’s getInstance method but this is pretty ugly as well. Are there some better ways of solving this (not using tools like IoC containers)?

public class Singleton {
    private ISomeDependency _dependency;
    private static final Singleton INSTANCE = new Singleton();
    private Singleton() {
    }
    public static Singleton getInstance() {
       return INSTANCE;
    }
    ...
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T18:17:34+00:00Added an answer on May 22, 2026 at 6:17 pm

    The singleton design pattern is a big anti-pattern, because there is no way to inject dependencies in a singleton. This doesn’t mean however, that there is no way to have a single instance during the lifetime of the application, but you shouldn’t use the singleton design pattern for this. Especially when using dependency injection, there is no reason to use this design pattern.

    Just inject an instance of that type as constructor in the types that depend upon it and you’re done. This gives you the possibility to build up the object graph in the top of your application and control the lifestyle there and inject dependencies into that instance.

    The design of that class should just like any other class:

    public class SomeService : ISomeService 
    {
        private ISomeDependency _dependency;
    
        public ISomeService(ISomeDependency dependency)
        {
            _dependency = dependency;
        }
    
        // ISomeService members here
    }
    

    A dependency injection framework will allow you to define the lifestyle of any type very easily. For simple applications, you can however still do this by hand.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a Singleton that is accessed in my class via a static property
I have a singleton object that use another object (not singleton), to require some
I have a C# singleton class that multiple classes use. Is access through Instance
I have a co-worker that swears by //in a singleton Constants class public static
I have a singleton class for global access to config information. This singleton class
I have a singleton instance that is referenced throughout the project which works like
I have a C++ singleton that runs as a separate thread. This singleton is
I want to have singleton class that its object is not statically created. having
I am using an enum singleton that looks (somewhat) like this: public enum mySingleton{
I have a class that is managed by ninject as a singleton that looks

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.