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 6189425
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T02:24:46+00:00 2026-05-24T02:24:46+00:00

When I started I had an interface: public interface IBlogReader { BlogPost GetLatest(); IEnumerable<BlogPost>

  • 0

When I started I had an interface:

public interface IBlogReader
{
    BlogPost GetLatest();
    IEnumerable<BlogPost> FindByDate(DateTime from, int limit);
    IEnumerable<BlogPost> FindByCategory(string category, int limit);
    IEnumerable<BlogPost> FindByAuthor(string author, int limit);
}

Then I needed different permutations of the queries (FindByAuthorWithCategory, FindByDateWithAuthor, etc.) I figured I needed to change the approach as this would keep growing. I need more and different queries. Next I had an interface such as:

public struct FindCriteria
{
    DateTime? from;
    string category;
    string author;
}

public interface IBlogReader
{
    BlogPost GetLatest();
    IEnumerable<BlogPost> Find(FindCriteria criteria);
}

The interface was smaller and I could refrain from making many methods. However, I basically moved the many method implementation into a big-honking single method implementation. It made me feel better for a while. I was thinking of moving to an approach that wrapped the big-honking query method into a series of individual objects where each object handled the specifics and I call for the results:

public abstract class QueryCommand
{
    protected IBlogReader reader = null;
    public QueryCommand(IBlogReader reader)
    {
        this.reader = reader;
    }

    public abstract void Execute();
}

public class GetLatest : QueryCommand
{
    public BlogPost GetResults();
    public void Execute();
}

public class FindByDate : QueryCommand
{
    public IEnumerable<BlogPost> GetResults();
    public void Execute();
}

It still doesn’t feel right. I read about the Repository pattern and I don’t see how it applies. It seemed to me that I would still end up with the many methods in the end. The data is being stored in the cloud. Using the Specification pattern would be too heavy weight as my reading of it would bring all of the records local to qualification. In another attempt I created individual DAO objects and wrapped them inside of a repository-like facade object. The end result was the same as I began with…many methods…but the repository didn’t do all of the work.

Should I just resolve myself to having either many methods or many objects and get over it?

  • 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-24T02:24:47+00:00Added an answer on May 24, 2026 at 2:24 am

    It looks like Query Object.
    Sometimes we also use variation of it:

    public class Filter
    {
        public DateTime? PostDate { get; set; }
        public DateTime? LastComment { get; set; }
        public string Author { get; set; }
    }
    

    And then resolving non-null criteria to filter expression.

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

Sidebar

Related Questions

I had started working on GPGPU some days ago and successfully implemented cholesky factorization
We had a test project that started out as MbUnit v3 / Gallio but
I started coding in C# and have never had the opportunity to use callbacks
So I just started my first rails project yesterday. I had two many-to-many (has_and_belongs_to_many)
In the past I've had some experience of Qt in C++. I've now started
I've recently started developing applications for the Blackberry. Consequently, I've had to jump to
I'm working on a class assignment that started small, so I had it all
I've recently started exploring using AJAX for a small project, and I've had reasonable
I started an Empty Application template, this means that I had to add my
I had just started working on some automated testing tools, namely test complete, which

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.