Over a million developers have joined DZone.
Platinum Partner

Iterative Software Development, Part 1

· Agile Zone

Reduce testing time & get feedback faster through automation. Read the Benefits of Parallel Testing, brought to you in partnership with Sauce Labs.

Originally authored by Andrew Wagner

With this blog post, I'm officially kicking off a new long-running screencast series! Yay! I really am excited about this, but first let me give a big shout-out to Near Infinity, which is a great place to work. Awesome benefits, smart and talented people, and very interesting work.

So, what's this screencast series going to be about? The main theme is iterative software development - I'll be building a 2D game library iteratively, one feature per screencast. I won't be teaching Java syntax, but I will be teaching you how to keep your code organized and flexible so that you can go whatever direction you need to.

I'll be using an architecture called "Component, Entity, System" for this project. There's lots of great information out there about this, but I'll go ahead and define the terms here for convenience:

  • Component - A chunk of related data, such as a point (with an x and y value). Little-to-no logic
  • Entity - An ID list of components. Little-to-nothing else, including logic.
  • System - Logic (finally!) that acts on a set of entities.

That's enough of an intro for now. You can find the github repository here. Please email me feedback; I will be happy to take it into account. I'm hoping to release a video or two each week, so tell me what you want to see! Here's the first video:

The Agile Zone is brought to you in partnership with Sauce Labs. Discover how to optimize your DevOps workflows with our cloud-based automated testing infrastructure.


Published at DZone with permission of Scott Leberknight , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}