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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T17:42:17+00:00 2026-05-11T17:42:17+00:00

For homework, I need to build a small java application.The main goal is to

  • 0

For homework, I need to build a small java application.The main goal is to learn how to interact with XML. But a second goal is to learn how to build such an application.

I have quite some experience on programming, but little experience in designing programs.
I’ve read about designpatterns and designprinciples like Solid and TDD. But I find it hard to know how to implement such ideas.

One problem I encounter is segregation between the GUI and the application. On the app, we want to be able to sort on different criteria. For each criteria, there would be a button (like the header of a list). This would then cause an event to be triggered. But how should I pass on what criteria should be sorted, and how would a send back the sorted data?

One could define a different event for each button, but then you would have several similar events with the only goal to differentiate between the sorting criteria.

Another approach would be to define one event, and then pass a string or int, which would specify on what criteria should be sorted, but then you would get a list of if else statements, and would not adhere to the open closed principle.

How would you design such a system.

Edit:

My biggest concern here is trying to get this ‘open-closed’. As someone asked, the data is a collection of objects. Is there some way it’s easy to add criteria to sort on? Or is this not really feasible to achieve?

  • 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-11T17:42:17+00:00Added an answer on May 11, 2026 at 5:42 pm

    The best approach is to have “one event, and then pass a string or int”.

    Depending on the underlying data structure you use, you will not need to use a switch statement to sort the data. If you have a data table, you can use the string to specify which column to sort by. It’s trickier if you have a collection of objects and the columns represent their properties. In .Net you can do neat things with LINQ that let you sort by a property represented as a string. But in java, you could always resort to reflection to get the field value to sort by.

    If you have your data represented as a multidimensional array passing an int would represent the property-y index of the array to sort by. In any case there is always a technique available to avoid the switch statement for sorting.

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

Sidebar

Ask A Question

Stats

  • Questions 115k
  • Answers 115k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer It is actually possible to run VS.NET 2003 Repair in… May 11, 2026 at 10:22 pm
  • Editorial Team
    Editorial Team added an answer Are you handling the delete key at the form level?… May 11, 2026 at 10:22 pm
  • Editorial Team
    Editorial Team added an answer I've been looking for an up-to-date best-practice and feature-filled Zend… May 11, 2026 at 10:22 pm

Related Questions

I'm working my way through SICP, using both the Ableson/Sussman lectures and the Berkeley
I'm about to start on a little project i'm trying to do where I
I need to use segregated free lists for a homework assignment and I was
I've already asked 2 questions kind of related to this project, and i've reached
I need to write a compiler. It's homework at the univ. The teacher told

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.