Skip to content

Modular Architecture Refactoring Demonstration, from Kirk Knoernschilds Book Java Application Architecture

Notifications You must be signed in to change notification settings

marckoch/billpayevolutiondemo

 
 

Repository files navigation

This is my fork of Kirk Knoernschilds Demo Repository billpayevolutiondemo. He deserves all the applause and glory.

It is featured in chapter 7 of the (very good) book "Java Application Architecture" (BUY IT NOW!).

I found this chapter hard to follow without looking at the code, so I dug up the source code (the URL in the book is out dated, it pointed to Google Code) and tried to have a look at it.

I used the tool "Sonargraph" to visualize the dependencys and cycles.

see README.md files in the subfolders.

please check the comments "NOTICE: ..." in the build.xml files

Status

  • InitialVersion has been updated (Java 8, remove raw types, introduces typed collections, removed warnings in IntelliJ, etc.)

  • Refactoring1PhysicalLayers has been updated

  • Refactoring2AbstractComponents has been updated

  • Refactoring3AcyclicRelationships has been updated

  • Refactoring4SeparateAbstractions has been updated

  • Refactoring5CollocateExceptions has been updated

  • Refactoring6IndependentDeployment has been updated

  • Refactoring7ImplementationFactory has been updated (deleted restaudit folder)

  • i can open and test the code in IntelliJ (with Java8), IntelliJs internal ant-plugin works fine and I can run all given ant targets

  • i have NOT tried to run/deploy the code (maybe I will try, maybe not, I just wanted to check the dependencys and cycles)

TODO

the following points bother me, but I don't know if I want to tackle them:

  • migrating to maven (ANT ... urgh)
  • updating the code (uses struts 1.0 if I see correctly, JUnit 4)

About

Modular Architecture Refactoring Demonstration, from Kirk Knoernschilds Book Java Application Architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 71.3%
  • HTML 17.3%
  • JavaScript 9.1%
  • XSLT 1.0%
  • Shell 0.7%
  • CSS 0.4%
  • Other 0.2%