Definition Of Lightweight-ness (First Iteration)

"Minimal amount of infrastructural code with highest possible emphasis on business logic"
(aka laziness :-)). Agreed?


NEW: Online Workhop Effective WebApps without Frameworks is also coming to: MUC Airport.

Airport MUC workshops: Web (SPA, PWAs, Offline, Desktop, Mobile) Applications Essentials and Effective Web Applications. No migrations. #usetheplatform

Podcast: airhacks.fm and newsletter: airhacks.news

A book about rethinking Java EE Patterns

Comments:

What about the following definition?

"Minimal dependency of business logic code to infrastructural code" (aka separation of business logic and infrastructural stuff).

Posted by Florian Schwarz on October 03, 2010 at 01:15 AM CEST #

@Florian,

very good -> agreed!

"Domain logic only" - would be the next logical step

thanks for sharing your thoughts!,

adam

Posted by adam-bien.com on October 03, 2010 at 01:26 AM CEST #

@Florian,

my "Domain logic only" definition is actually sub-optimal. It would mean: if you put everything into aspects, your code would remain clean and the infrastructure separated. But with bytecode weaving and additional infrastructure the complexity / voodoo factor would increase. So I wouldn't consider a simple POJO with bloated aspects as "lightweight".

thanks!,

adam

Posted by adam-bien.com on October 03, 2010 at 01:54 AM CEST #

Ok the separation of domain and infrastructure is indeed misleading,

So let's consider what the opposite of lightweightness means in terms of examples:
- a complex programming framework that is hard to understand
- a programming framework that requires a lot of boiler plate code that has to be written (or generated) and maintained
- a programming framework that makes testing difficult
- heavy infrastructure that is complex to configure and has long startup time
- a programming environment that slows down the execution speed of your code
- a programming model that slows down programmers

The common thing of all these examples is that a heavyweight framework enforces lot's of constraints to your overall system and to your development process.

So I would define leightweight as follows:

A software component is leightweight when it enforces minimal constraints to the rest of the system.

Posted by Florian Schwarz on October 03, 2010 at 02:31 PM CEST #

totally ;)

Posted by björn on October 04, 2010 at 11:46 AM CEST #

i prefer the first statement of the definition,

regards

Posted by Riccardo Pasquini on October 04, 2010 at 12:57 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
Online Workshops
realworldpatterns.com
...the last 150 posts
...the last 10 comments
License