I am not an expert on design pattern histories, but I do believe that this style of abstracting out the persistence layer, a DAO class per type in your application, was used for a very long time. Things were pretty much stagnant on this side. … Continue reading The Database Guy…you, the developer, & you, the organization, should really start doing your bit for the open source community
Category: The Designer’s Block
The Database Guy…the spy story. Actually more the interpreter story..read on to find out
So we ended the last post pondering on this method: @Override public double fetchBalance( @NotNull final String stashId) throws SQLException { String fetchBalanceSql = "select balance from mystash where id = ?"; try (ResultSet resultSet = sqlExecutor.executeQuery(fetchBalanceSql, stashId)) { // Move to first row. Should … Continue reading The Database Guy…the spy story. Actually more the interpreter story..read on to find out
The Database Guy…Color code those lines!
Now let’s take a stab at analyzing the synergy between the recently discovered ILedgeDAO and IStashDAO implementations i.e. LedgerDAO & StashDAO. As it stands, LedgerDAO looks something like this: @Override public void record(LedgerEntry theEntry) throws SQLException { try (Connection conn = DriverManager.getConnection( dbConnectionUrl, dbUserName, … Continue reading The Database Guy…Color code those lines!
The Designer’s Block: The Database Guy…but first, what’s in a name?
NOTE: It’s been a while & as I was reviewing the previous posts of this series, I decided to delete the last bit of the previous post (“The Designer’s Block: The Database Guy…”) which directly puts an interface unifying all DAOs. Decided to evolve it … Continue reading The Designer’s Block: The Database Guy…but first, what’s in a name?
The Designer’s Block: The Database Guy…
We have been ignoring this guy for quite sometime now and the poor fellow is burdened with a lot of work. Line count check for the Database Guy – 317 lines right now! Lets give him a helping hand, some attention like we did for … Continue reading The Designer’s Block: The Database Guy…
The Designer’s Block – Usecase Clutter!
So I have been working on MyStashService, adding a couple of more use-cases. No, I have not implemented the fetchRecentTransactions() use-case yet, but landed up adding the following: My physical stash is really put away in multiple locations - couple of bank accounts, cash at … Continue reading The Designer’s Block – Usecase Clutter!
The Designer’s Block – Dynamic Proxies, Instrumentation…?
Caught your attention with the fancy words in the title, didn't I? We ended the last post with a question: "So how do we keep the API of MyStashService intuitive while also maintaining all the beautiful work and principles we have been applying to it so far … Continue reading The Designer’s Block – Dynamic Proxies, Instrumentation…?
The Designer’s Block – Serve Your Customer!
So by the end of the last post, MyStashService, which began as: public class MyStashService { // Record an income public void credit(double theAmount) { // TBD } // Record expense public void debit(double theAmount) { // TBD } // Track my balance public double … Continue reading The Designer’s Block – Serve Your Customer!
The Designer’s Block – Creative Freedom
Okay this one is going to be a long post – couldn't figure out a way to split this up without compromising on some level of completeness, so please take it slow. Having said that, lets proceed. Where were we? We said we are ready … Continue reading The Designer’s Block – Creative Freedom
The Designer’s Block – Boredom!….and then Freedom!
To the more experienced reader...if you are still here! This series of blog-posts are intentionally slow and evolutionary in style....a lot of this stuff you skip and do implicitly out of experience. I'm actually enjoying this. Its the first time I am having to write down my … Continue reading The Designer’s Block – Boredom!….and then Freedom!