Comparing between Guice and PicoContainer

  • Guice

The first thing u’ll notice is that Guice makes extensive use of Java 5 language features. ie, generics and annotations. While generics lead to the extraordinary type safety mentioned by Kevin Bourrillion, annotations couple your code to the Guice framework. If u’ve really picky about loose coupling you might ask why you should use a framework that adds a dependency to itself? You end up with lots of imports of the Inject annotation scattered all over your code base. And it’s getting worse if you have to use Singleton, ImplementedBy and so on and so forth. You may want to define that elsewhere because your classes shouldn’t know any thing about their usage or where dependencies should be Inject – That’s what inversion of control is all about, isn’t it :).

However, for those who aren’t so pickly there are some really cool things about Guice:
– it is type safe
– it reports same error messages
– it is small and very fast

Well it is really type safe: if you ask Guice to give you an object of type Bar, it’ll do so – no cast to Bar required. The authors of Guice don’t want it to be used as a simple service locator for a good reason: your code would still be coupled very tightly. That being said you want to call Guice only in some places in your code where it hand you a top-lever class where all the dependencies are injected. Whether you’ll have to do a cast on these few occasions shouldn’t be that bad; this puts the big feature of type safety into another perspective (read: isn’t that important). But this is definitely a plus for Guice though.

Reasonable error messages are one point for Guice: if something goes wrong you can identify the problem easily. From a user’s perspective this should be the case anyway but Guice manages this very well – as far as I noticed it.

  • Pico Container

PicoContainer is a nice piece of software that facilitates dependency injection without much overhead: no external configuration files (read XML files) and no annotations needed. All you have to do is register your components with the container; for small projects this is an effortless thing.

As with Guice you write everything in Java and can reap the benefits of your IDE’s refactoring capabilities: if you change a class’s name all references will be changed too

Categories: Java

…….

February 23, 2010 1 comment

Cảm giác
Lạ lắm
Buồn lắm
Xa xăm
Sâu thẳm
………
Quặn thắt

Categories: My Day

Programming Styles

January 26, 2010 Leave a comment

Over the years I’ve met many developers and got to know many different programming styles. Here are some of the odd ones. Do you know someone like that?

Shotgun Programming

It is a programming style where the developer tries random shots at the code. “Well, this method call is failing…. I’ll try changing this parameter from false to true!” Then of course it doesn’t work and the developer goes: “Well, maybe I could just comment out the whole method call!” and so on. It can go on forever until it works by pure chance or the developer is rescued by a peer who points the correct solution.

A regular developer can go crazy in a few hours if he finds himself pairing with a shotgun programmer. It can drive you NUTS. Two shotgun programmers should never do pair programming together, because their destructive results are magnified when they work together.
Read more…

Categories: Software Development

Cảm xúc

January 24, 2010 1 comment

Tốt nghiệp rồi, tại sao mọi người có nhiều cảm xúc thế, mà mình thì không có, không cảm thấy gì, không thấy vui, không thấy buồn, không thấy xa, không thấy vắng, cảm giác vẫn vậy, vẫn như 2 năm hay 3 năm trước. Chỉ khác là bây giờ không biết là nên làm gì tiếp, thấy có nhiều cái khó khăn hơn. Công việc, học tập… nên như thế nào?? rồi mọi thứ sẽ ra sao, khi mà mình đã đủ thấy được có nhiều cái bất công, người làm nhiều hưởng ít, người không làm hưởng lắm, người học lắm thì nghèo, kẻ vô học thì lắm tiền… Giờ đây mặc dù mình đã có công việc, gọi là ổn cũng được, bất ổn cũng được, nhưng mình vẫn chưa có cảm giác được yên tâm, vẫn không tin tưởng vào tương lai chút nào cả.

Categories: My Day

Lại thấy chán việc

December 11, 2009 2 comments

Haizz. Lại chán rồi. Không biết khi nào mới tìm được 1 chỗ ưng ý. Biết là mỗi nơi đều có ưu nhược điểm khác nhau, cơ hội thăng tiến khác nhau, học được những thứ khác nhau.

Ở VDC là nơi đầu tiên mình làm việc với .NET, biết đến framework DNN, làm SQL tốt hơn, quen được nhiều người hơn, nhưng môi trường làm việc thấy mình không hứng thú, nó làm cho mình ỳ hơn, không năng động được.

Ở Mypay cũng là nơi phát triển được nhiều, học được nhiều. Riêng về lập trình, giờ thì mình đã quá quen thuộc với .NET, với CSS, và cả việc training cho người khác, thậm chí học được cả cách làm TL, PM, mình cũng học được nhiều thứ ở anh Phương. Nhưng làm ở đây cũng chán, có lẽ do thời gian này phải làm đồ án nên hơi phân tâm, bận rộn nên chưa thực sự tập trung vào công việc. Một lý do nữa là ở đây team còn nhỏ quá, không học hỏi được nhiều, mặc dù cơ hội cho mình lá khá lớn, nhưng giờ đó chưa phải là cái thu hút mình, quan trọng thời gian này là học hỏi được những gì, học được những kỹ năng gì, trong khi đó ở Mypay thì cách quan hệ, cách quản lý công việc còn quá non kém, mình nghĩ vậy.

Rồi sẽ đi đâu, với khả năng kém, kinh nghiệm ít, ngoại ngữ tồi như mình bây giờ. >”<

Categories: My Day

Buồn ngủ

November 10, 2009 1 comment

Buồn ngủ qá, mắt zíp cả vào, ngồi nghe nhạc để tỉnh ngủ mà lại thành ra ngủ quên, vào #fb 1 lúc cũng không khá hơn. Nhưng phải cố, còn bao việc phải làm, giờ mà ngủ thành quen mắt mất, chẳng làm được việc j. Cố lên nào, mở mắt ra, căng mắt ra mà làm việc đi

Categories: My Day

Rét đầu mùa

November 9, 2009 2 comments

Lại một mùa đông nữa, lại sắp tết rồi, nhưng tết năm nay khác với tết mọi năm, mùa đông năm nay cũng khác mùa đông mọi năm, sau tết là sẽ ra trường, ko còn đi học nữa rồi, mùa đông này không còn được ngủ nướng đến trưa nữa, sáng sớm đã phải dậy rồi chuẩn bị đi làm, ôi ngại quá.

Chẳng biết tết này rồi tết sau sẽ như thế nào, mình đã có nhiều hy vọng, mong muốn và cũng đã cố gắng. Nhưng, có lẽ đúng như lời thầy nói với mình: luôn chỉ làm những việc dưới sức, không cố gắng để làm những việc cao hơn, nên sẽ khó mà tiến bộ được. Không biết phải làm sao đây, khi chỉ một thời gian là mình lại chán và muốn đổi sang việc khác, thiếu cố gắng quá. Cố lên nào tôi ơi!

Categories: My Day