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
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…
Learning Series – Angular
As part of writing posts for the "The Designer's Block" series that I have been doing, we started creating a personal accounting software and called it "MyStash". One of the main purposes of this blog is to also drive learning new stuff. Decided to start with … Continue reading Learning Series – Angular
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