
设计
文章平均质量分 72
iteye_9715
这个作者很懒,什么都没留下…
展开
-
关于WAS LDAP验证页面跳转问题
很多门户网站的用户验证都是通过服务器提供的验证方式来实现的, 比如说,WAS就可以配置LDAP作为用户验证的数据源。当用户访问一个受限制的网页时,如果用户没有权限,便会自动跳转到登录界面。当用户登录后,再跳转回到用户之前访问的页面。前两天遇到个问题,当用户登录后,IE在某些情况下,不会自动跳转到登录前页面,而是回到了welcome页面。这个问题折磨了我快一周的时间,绞尽脑汁找不出原...2009-12-03 09:50:27 · 586 阅读 · 0 评论 -
Log4j 代码学习 - Appender
在上一篇文章里,我们故意遗漏了一个重要的接口,AppenderAttachable: public interface AppenderAttachable { public void addAppender(Appender newAppender); public Enumeration getAllAppenders(); public Appender g...原创 2012-05-16 09:09:17 · 335 阅读 · 0 评论 -
Log4j 代码学习
最近闲来无事,正好手头上有Log4j的代码,于是就拿来学习了下。 想来这个小工具也用了很多年了,但是从来没有真正的去了解过内部机制,经过一番学习后,发现结构还是蛮不错的,里面有很多东西值得学习。 总的来说,Log4j的代码我认为可以分为这几大部分: 1. 产品Logger2. 附件Appender3. 仓储Repository4. 生产工厂Factory5. 配置管...原创 2012-05-15 14:58:07 · 124 阅读 · 0 评论 -
(转)追MM与23种设计模式
1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向...原创 2011-11-16 14:13:02 · 134 阅读 · 0 评论 -
简单工作流引擎
从公司的一个项目中挖出来的工作流引擎的代码,虽然是一个很简单的模型,但却包含了不凡的思想。 对于数据流处理的代码来说,这样的结构有助于将来的维护和扩展。 使用起来也很简单,继承相应的step,实现业务逻辑,并在启动加载的时候将所有的step拼装起来就可以了。 代码很简单,直接贴出来给大家看了: public interface FlowStep { /** * E...原创 2012-07-06 16:58:43 · 203 阅读 · 0 评论 -
java7中的ThreadLocalRandom(转)
今天早上看到一个关于java7中的ThreadLocalRandom的用法的帖子,说是比Math.Random()速度要快一倍,转过来学习一下 : When I first wrote this blog my intention was to introduce you to a class ThreadLocalRandom which is new in Java 7 to gene...原创 2012-01-20 09:08:31 · 304 阅读 · 0 评论 -
项目开发过程 - 转载
一位软件工程师的软件过程总结简单设计目前开发框架基本稳定,具体业务的设计可以拖后,开发人员可以通过简单设计明确接口并快速进入版本迭代,在迭代过程中通过不断重构及持续集成来达到最佳设计。前置条件:开发人员正确理解需求分析的结果后置条件:l 明确包结构l 明确类的职责l 明确接口定义l...原创 2010-08-04 13:35:07 · 110 阅读 · 0 评论 -
LAMP网站架构(转载)
LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比...原创 2010-06-30 09:04:09 · 127 阅读 · 0 评论 -
个人发展成长路线
其实对自己的发展路线,一直存在着很多困惑,究竟应该成为什么样的人? 是该偏重项目管理,还是技术? 如果偏重技术,是应该偏重底层技术,还是上层架构? 如果选择了其中某一条路,我都该具备什么样的技术能力? 哪些知识是必不可少的?这些问题一直挺困惑我的。今天早上看周爱民同学的一个讲座,其中有一张图片,描述了软件开发人员的路线图,我觉得对我而言,颇有指导意义,放出来给大家分享一下。...原创 2010-06-28 14:25:44 · 310 阅读 · 0 评论 -
设计模式解读之一: 策略模式
转载当我们掌握了Java的语法,当我们了解了面向对象的封装、继承、多态等特性,当我们可以用Swing、Servlet、JSP技术构建桌面以及 Web应用,不意味着我们可以写出面向对象的程序,不意味着我们可以很好的实现代码复用,弹性维护,不意味着我们可以实现在维护、扩展基础上的代码复用。一把刀,可以使你制敌于无形而于江湖扬名,也可以只是一把利刃而使你切菜平静。Java,就是这把刀,它的威力取...原创 2009-10-13 00:03:17 · 73 阅读 · 0 评论 -
贫血模式or领域模式
在论坛看到一个好帖:最近taowen同学连续发起了两起关于贫血模型和领域模型的讨论,引起了大家的广泛热烈的讨论,但是讨论(或者说是争论)的结果到底怎样,我想值得商榷。问题是大家对贫血模型和领域模型都有自己的看法,如果没有对此达到概念上的共识,那么讨论的结果应该可想而知,讨论的收获也是有的,至少知道了分歧的存在。为了使问题具有确定性,我想从一个简单例子着手,用我对贫血模型和领域模型的概念...原创 2009-09-13 10:53:42 · 220 阅读 · 0 评论 -
整体设计
目前的思路是这样的:[img]http://dl.iteye.com/upload/attachment/144851/1ff5e569-0749-32eb-9f28-4265251556dd.jpg[/img]2009-09-10 14:46:20 · 115 阅读 · 0 评论 -
DaoFactory的设计
本打算在网上找一些资源的,可是发现大多数人都是用的hibernate,对于DaoFacotry并不需要过多的考虑。后来突然想到个办法,干脆直接去看Hibernate的代码,看看它是怎么设计DaoFactory的。 结果却在Hibernate官网上看到了一篇关于数据持久层的文章,觉得对我的设计应该还是有帮助的。原文地址:https://www.hibernate.org/328.ht...2009-09-10 14:29:17 · 372 阅读 · 0 评论 -
Junit 的模式
Junit的Composite模式, 跟享元模式很接近:[img]http://dl.iteye.com/upload/attachment/144264/b3535fc9-65da-3850-9cb3-f8baa501ed65.jpg[/img]TestSuite 里面包含一个或多个Test,而TestSuite和TestCase均继承自Test接口,这样就可以使TestSuite中...2009-09-08 23:32:23 · 163 阅读 · 0 评论 -
IBaseDao的设计
去网上查了下,发现泛型Dao的设计比较热门,比较起来也相对通用。只是因为还没有用上hibernate,所以做了些修改,不提供BaseDao的默认实现(如果是hibnerate下,很多实现可以在一个抽象类里面实现)。2009-09-09 更新 : 修改了几个方法的返回类型, 添加了一个查询方法。开始感到这个框架的问题, 用了好几个Object 类型的参数了。思考下后面应该怎么改。...2009-09-08 09:30:59 · 520 阅读 · 0 评论 -
数据库连接池
感谢网络提供资源的朋友,自己做了个版本,正在测试,看看是否有问题。2009-09-08 更新成单例模式[code="java"]/* * $DatabaseInfo.java 2009-01-20 By Bill Yao $ */package shopping.servlet.db;import java.util.PropertyResourceBund...2009-09-06 18:53:10 · 94 阅读 · 0 评论 -
Decorator
看java与模式中装饰器模式,没有看懂。。。在网上找了一篇通俗易懂的,看完了回去再看遍java与模式,理解能更深点装饰器模式:decorator的结构如下: MyInterface |_______|_______| | Myclass Decorator ____|_____ ...2010-03-15 16:35:44 · 84 阅读 · 0 评论 -
Log4j 代码学习 - Factory
我们最早提到,Log4j的初始代码在LogManager的静态块中。里面包含了许多初始化工作的代码,我们来看一下: static { Hierarchy h = new Hierarchy(new RootLogger(Level.DEBUG)); repositorySelector = new DefaultRepositorySelector(h); ....原创 2012-05-17 08:47:13 · 245 阅读 · 0 评论