
软件设计
ykdsg
能喝一杯的程序员。
展开
-
java 通用IO API 设计-- 赏玩
这里先贴一下原文内容:从https://github.com/oldratlee/translations/blob/master/generic-io-api-in-java-and-api-design/README.md上摘入。 原文链接:A generic input/output API in Java-Rickard Öberg(PS:文章原始链路已失效) 译文发在:【译】...原创 2019-10-24 11:43:19 · 294 阅读 · 0 评论 -
java flyweight模式
Flyweight 定义: 避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类).面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被共享的类,另外,还有一些特性是取决于应用(co原创 2010-02-24 10:53:00 · 2557 阅读 · 1 评论 -
关于面向对象
参加工作快两年了,一直在用所谓的面向对象语法来开发。但是实际的面向对象的思想还是没有很好的形成,很多时候都是用过程那套解决的。比如举个简单的例子,写一个图形绘画系统,可以画圆形,直线,长方形等图形,设计的时候很自然的会写一个shape接口,然后写几个实现类,最后先一个panel针对输入的情况分别调用各自的实现类来draw。这样的代码很快就能实现,但是各个类之间耦合太大,将来修改和扩展的时原创 2010-03-13 15:44:00 · 725 阅读 · 0 评论 -
软件设计的7大原则
设计软件的几个原则,这个也是设计模式的精髓所在: 一、 开闭原则(OCP)开闭原则(Open-Closed Principle):一个软件实体应当对扩展开放,对修改关闭。客户的需求是不稳定的,通过扩展已有的软件系统而不是通过修改软件系统来满足客户的需求,这样的软件系统就满足开-闭原则,即软件系统要有一定的灵活性和适应性。已有的模块,特别是抽象层的模块不能修改,保证软件系统的稳定原创 2010-04-21 09:25:00 · 4997 阅读 · 0 评论 -
系统并发杂谈
转自:http://www.ibm.com/developerworks/cn/java/l-multithreading/ 并增加自己的分析,希望对并发系统的设计提供一种思路。 首先举一个简单的例子系统中有一个服务提供者,他通过接口对外提供服务,比如打印hello wo原创 2011-08-23 20:22:05 · 705 阅读 · 0 评论 -
java 任务调度过程中的监控
转自:http://www.ibm.com/developerworks/cn/java/l-safethread/ 对一些代码按自己的理解修改 在JAVA环境中,一个任务一般是由一个独立线程来引导实现的,如果在执行过程中,某一个线程发生异常(产生的原因很多,比如软件转载 2011-08-25 20:39:08 · 3374 阅读 · 0 评论 -
Java I/O通用api设计 (一)
原文A generic input/output API in Java(by Rickard Öberg)中给出了一个通用Java IO API设计,并且有API的Demo代码。更重要的一点是,这篇文章给出实现这个API设计本身的步骤和过程,这让API设计实现过程有了条理。文中示范了从 普通简单实现 整理成 正确分解、可以复用、可扩展的API设计 的过程。这个很值得理解和学习! PS:转载 2013-04-15 17:31:43 · 973 阅读 · 0 评论