OOP

Object Oriented Programming
Rename AF Message

Rename AF Message

I inherited a project written using Actor Framework recently. I started to do a little refactoring to make it easier to add some of the changes I needed to make, following Kent Beck’s idea of “First make the change easy, then make the easy change.” What is in a
4 min read
The Object Oriented Thought Process

The Object Oriented Thought Process

This book was recommended to me by 2 different people. Several years ago Nancy recommended this book to me when I was first learning OOP. I generally trust Nancy’s recommendations (she has made some very good recommendations in the past such as XUnit Test Patterns and Continuous Delivery) and
7 min read
Branch by Abstraction

Branch by Abstraction

In the past I have been a big fan of Git Flow. I still am, but I recently read the book Continuous Delivery and it has me rethinking some things. In particular they talk about Continuous Integration and not using feature branches, which is a very large component of Git
4 min read
Dynamic Unloading of Classes

Dynamic Unloading of Classes

In my previous post, I did a demo of the factory pattern. In it I showed how to dynamically load classes based on their path. One thing you may have noticed in that demo is that the classes stayed in memory even after the Test VI stopped running. If you
3 min read
Gang Of Four Patterns in LabVIEW

Gang Of Four Patterns in LabVIEW

I have written a bit about design patterns previously. Recently Tom McQuillan and I were talking about how it would be nice to have examples on how to implement the GOF design patterns in LabVIEW. To be fair, Elijah Kerry put together some great examples several years ago, but he
5 min read
Unit Testing And Seams

Unit Testing And Seams

One of the topics I found very interesting form the Art Of Unit Testing was seams. I wanted to write a blog post to explore that a little bit. What is a Seam? Seams are places in your code where you can plug in different functionality … Art of Unit Testing,
3 min read
Mock Objects Advanced Features

Mock Objects Advanced Features

In the last post, I talked about how to use Mock Objects in Unit Tests. In this post, I am going to talk about some advanced features of the Mock Objects. It is worth going back and reading my previous posts on Mock Objects if you have not already done
4 min read
How To Use Mock Objects in Tests

How To Use Mock Objects in Tests

In the last couple posts, I talked about Mock Objects: what they are and how to implement them in LabVIEW. In this post, I am going to talk about how to use them in unit tests. For reference, the video below shows how to use the Class Refactoring Toolkit and
3 min read
Anatomy of a Mock Object

Anatomy of a Mock Object

In the last post, I talked about Mock Objects and what they are. In this post, I am going to talk a little bit about what they look like when you implement them in LabVIEW. The video below shows how to use the Class Refactoring Toolkit I created to create
3 min read

Creating Mocks in LabVIEW

In my last article, I introduced the concept of Mock Objects. The obvious next question is how do you implement them in LabVIEW? Many other languages either have builtin or readily available third party mock objects frameworks. LabVIEW does not. Until Now. I’ve create some tools for class refactoring
2 min read
Mock Objects

Mock Objects

At the upcoming CLA Summit, I will be giving a presentation on mock objects. I thought I would introduce them here first for those who aren’t familiar with them. If you read any literature on unit testing you are bound to run into them. A Different Kind of Test
2 min read
Test Doubles In Action

Test Doubles In Action

In the last post, I talked about Test Doubles and some various types that we can use and how to implement them. The next obvious question is how do we actually use them in our tests. Dependency Injection Understanding Test Doubles first requires understanding the concept of dependency injection. This
2 min read
Design Patterns - A review

Design Patterns - A review

I recently finished reading “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamm, Richard Helm, Ralph Johnson, and John Vlissades. Due to its popularity, the length of the title, and the fact that it has 4 authors, it is affectionately known as the “Gang of Four” book or GOF
4 min read

Events for UI Actor Indicators

Allen Smith and I have been working on a side project we called Events for UI Actor Indicators for a couple months (we’ve both been busy lately).  It started with a discussion at a CLA summit in Austin.  That prompted Allen to come up with an idea and then
1 min read

NI Classes on Object Oriented Programming and Actor Framework

For those of you who want to take your programming to the next level, there are 2 classes coming ot Denver (actually the NI training facility in Louisville.)    One is an introduction to LVOOP – LabVIEW Object Oriented Programming. It talks about how to apply Object-Oriented techniques to LabVIEW applications using
1 min read