关于面向对象的讨论

下一个话题:我的2007

> 返回话题列表

最新评论

  • Re:别在领域模型迷失了自己

    做个记号。

    sinxsoft 2011-08-16 21:02

  • Re:是什么限制了我们面向对象(的开发)

    个人愚见 通常我们开发有两种,一种是产品化的,一种则是项目形势 我觉得如果是产品化的东西最好是能用OO,因为这样扩展性就好多了,虽然前期花的时间会长一点,但是产品的寿命同样会延长,对公司是有很大的利益的。 项目则不一样,很多都是根据客户的要求而开发的,所以也没有很注重OO思想,因为什么?承包方要缩短开发周期节省费用,不会把项目周期拉长

    相随心 2010-12-19 13:56

  • Re:MapperRegistry 是工厂方...

    @SamWei 工厂方法和模板方法很像,就是把一部分工作延迟到子类进行。只不过工厂方法的意图更加具体,是把创建实现类的工作延迟到子类进行。Registry 则是把创建对象的工作全交由 Registry 来负责,虽然不那么 OO,但是还算内聚,也是不错的。特别是在本文所提到的不希望实体类引用Mapper的场景下。

    1-2-3 2010-11-12 09:10

  • Re:MapperRegistry 是工厂方...

    我最近也在看设计模式的书,感觉文中的Registry和工厂模式很像,对于二者的区别,能否讲得更细致一些?谢谢!

    SamWei 2010-11-11 19:15

  • Re:怪怪设计论: 抽象无处不在

    @FireWard 此文其实是好几年前的水文...,当时也不是为了辩论或者证明什么,就是刚开博,不知道说什么就瞎喷呗。我无意于抓别人往自己脸上贴金,不过要是你看过Erlang作者B4面向对象的文章,估计更得抓狂了... ------------------------------------- 关于: 1. "如果没有面向对象,大把底层程序员写的结构各异的代码谁来维护呢?"...

    怪怪 2010-08-09 12:18

  • Re:怪怪设计论: 抽象无处不在

    显然楼主给不出最优抽象的定义,因为我们只能不断得到所谓更优的抽象,却不能一劳永逸的得到所谓最优的抽象。

    FireWard 2010-08-09 11:25

  • Re:怪怪设计论: 抽象无处不在

    这篇文章论证部分非常偏激,作者思维混乱,没有得出有说服力的结论。 计算机是一门工程科学,实用是必须重视的一个方面。 如果没有面向对象,大把底层程序员写的结构各异的代码谁来维护呢?显然面向对象的抽象在现实中是具有重大意义的。 面向对象当然不是最优的抽象,一定会有超越它的抽象方法。 试问楼主一句,所谓最优的抽象你能给个定义吗?

    FireWard 2010-08-09 11:12

  • Re:一个必须使用面向对象才能写出来的超简单...

    没有什么程序是必须要用面向对象语言写的。所有的C++程序都可以转换为C程序

    五星 2010-06-28 13:21

  • Re:分层模式下的Lazy Load ——探...

    @Jefferson.chow 都是杂七杂八的书里看来的。特别是有的作者也非常喜欢引用别的书里的东西,我看着好也引用一下,所以有很多都是“间接”引用的,很可能会断章取义。这个《魔王爸爸的16封信》是我非常喜欢的恶搞风格的小说,推荐,(不过貌似书店里买不到了现在)。

    1-2-3 2010-04-20 10:18

  • Re:分层模式下的Lazy Load ——探...

    博主,你咋啥名言都知道呢?

    Jefferson.chow 2010-04-20 10:11

  • Re:案例分析:面向对象得失论

    有道理啊,我觉得你是我可以借鉴的人,有些东西指的我学习啊, msn:jorden008@hotmail.com 希望可以聊一聊,或者发邮件也可以

    virus 2010-01-21 18:35

  • Re:别在领域模型迷失了自己

    Void 持久化系统.add(书籍 当前书籍) { 借阅关系 Bbb = new 借阅关系 Bbb.id = 产生ID() Bbb.图书ID = 当前书籍.id; Bbb.借阅人 = 当前书籍.借阅记录.借阅人姓名 Bbb.借阅时间 = 当前书籍.借阅记录.借阅时间 Bbb.Save();...

    rimehaze 2009-12-23 11:42

  • Re:是什么限制了我们面向对象(的开发)

    akoya pearl jewelry freshwater pearl necklace freshwater pearl earrings freshwater pearl bracelet freshwater pearl pendant freshwater pearl strands inflatable inflatable bouncer inflatable castles inf...

    erthr 2009-12-09 17:26

  • Re:是什么限制了我们面向对象(的开发)

    wholesale pearl jewelry pearl earrings pearl necklace freshwater pearl freshwater pearl jewelry cultured pearl cultured pearl jewelry pearl jewelry Chian tin cup pearl necklace single pearl necklace t...

    kilik 2009-12-09 17:24

  • Re:分层模式下的Lazy Load ——探...

    @rimehaze 啊呀,是我说错了,AbstractMapper还是不能用泛型呀。只能“return findById(id) as person”了。不过这个转型操作被封装在了Mapper里面,不像之前那个要在Domain Object里面进行转型,还是要好一些。 另,如果是实际项目,还是建议使用NHibernate,它已经很强大、很成熟了。就算只是学习,也可以参考它的实现方式和设计思路。

    1-2-3 2009-11-11 15:08

  • Re:分层模式下的Lazy Load ——探...

    这样一弄MapperRegister就不好弄了, private IDictionary<Type, AbstractMapper> mappers = new Dictionary<Type, AbstractMapper>(); public static MapperRegister instance; public static ...

    rimehaze 2009-11-11 14:35

  • Re:分层模式下的Lazy Load ——探...

    @rimehaze 对不起,隔了太久时间,全都忘了。AbstractMapper也可以搞成泛型的: public abstract class AbstractMapper<T> { public abstract T findById(long id); } public class PersonMapper : AbstractMapper<Person>, I...

    1-2-3 2009-11-11 08:35

  • Re:分层模式下的Lazy Load ——探...

    @1-2-3 首先简单的改为 public class PersonMapper : AbstractMapper, IValueLoader<Person> { public Person findById(long id) { ... } } 会出问题因为他继承于AbstractMapper 而findbyId在AbstractMapper中是抽象方法必须重写啊。而且返回值必须...

    rimehaze 2009-11-11 08:24

  • Re:分层模式下的Lazy Load ——探...

    @rime han 另,NHibernate对Lazy Load的实现非常好,特别是子查询模式(fetch=subselect)很大程度上解决了Lazy Load造成的文中提到的“ripple load”降低性能的问题,有兴趣一定要研究一下。

    1-2-3 2009-11-10 18:24

  • Re:分层模式下的Lazy Load ——探...

    @rime han PersonMapper里面的findById()也改为返回Person: public class PersonMapper : ..., IValueLoader<Person> { public Person findById(long id) { ... } }

    1-2-3 2009-11-10 18:13