~怪^_*兽~

虚荣锁身躯 心灵给酒醉 脆弱人类 懒问何为对
(怪兽乐园Q群:75375912

导航

随笔分类 -  互联网络

上一页 1 2 3 4

面向对象软件设计原则(四) —— 包的设计原则
摘要:随着应用程序的规模和复杂度的增加,需要在更高的层次对它们进行组织。类对于小型应用程序来说事非常方便的组织单元,但是对于大型应用程序来 说,如果仅仅使用类作为唯一的组织单元,就会显得粒度过细。因此,就需要比类“大”的“东西”来辅助大型应用程序的组织。这个“东西”就是包 (package)。 本节描述了6个原则。前3个原则关注包的内聚性,这些原则能够指导我们如何把类划分到包中。后3个原则关注包的耦合性,这些原则帮助我们确定包之间的相互关系。 在UML的概念中,包可以用作包容一组类的容器。通过把类组织成包,我们可以在更高层次的抽象上来理解设计。我们也可以通过包来管理软件的开发和发布。目的就是... 阅读全文

posted @ 2012-02-28 07:18 ~怪^_*兽~ 阅读(6531) 评论(6) 推荐(6) 编辑

面向对象软件设计原则(三) —— 软件实体的设计原则
摘要:提起面向对象,大家也许觉得自己已经非常“精通”了,起码也到了“灵活运用”的境界。面向对象设计不就是OOD吗?不就是用C++、Java、Smalltalk等面向对象语言写程序吗?不就是封装+继承+多态吗? 很好!大家已经掌握了不少对面向对象设计的基本要素:开发语言、基本概念、机制。Java是一种纯面向对象语言,是不是用Java写程序就等于面向对象了呢?我先列举一下面向对象设计的11个原则,测试一下大家对面向对象设计的理解程度~^_^~单一职责原则(The Single Responsibility Principle,简称SRP)开放-封闭原则(The Open-Close Princip... 阅读全文

posted @ 2012-02-27 11:45 ~怪^_*兽~ 阅读(10814) 评论(6) 推荐(13) 编辑

面向对象软件设计原则(二) —— 软件设计的腐化
摘要:我们如何知道软件设计的优劣呢?以下是一些拙劣设计的症状,当软件出现下面任何一种气味时,就表明软件正在腐化。僵化性(Rigidity):很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其他改动。脆弱性(Fragility):对系统的改动会导致系统中和改动的地方在概念上无关的许多地方出现问题。牢固性(Immobility):很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。粘滞性(Viscosity):做正确的事情比做错误的事情要困难。不必要的复杂性(Needless Complexity):设计中包含有不具任何直接好处的基础结构。不必要的重复(Needless Repet.. 阅读全文

posted @ 2012-02-27 00:26 ~怪^_*兽~ 阅读(4199) 评论(14) 推荐(9) 编辑

面向对象软件设计原则(一) —— 引子
摘要:“面向对象软件设计”这个术语及其相关话题对于很多开发人员来说已经是耳熟能详了,甚至听腻了。但是,对不住各位,为了吸引眼球和引起“异性” 注意,本座还是落入俗套选择这个热门话题作为本博客的开张炒作篇目。请见谅,也希望各位看官能放下架子,略读一下本系列的所有文章再喷,可赞可弹可BS, 但勿吐槽,毕竟不想因为本座的文字噪音降低看官的SZ,伤不起呀!! 言归正传,在如何阐述“面向对象软件设计”这个问题上,本座琢磨了良久,毕竟命题宽泛,表达方式和层次多样。最终决定用相对通俗,以本座的读书和工作经历,在中等层次上进行阐述。 本座从十年多前走出校门之时就确信软件架构(设计)、数据结构和算法是软件的根... 阅读全文

posted @ 2012-02-26 20:00 ~怪^_*兽~ 阅读(2988) 评论(6) 推荐(6) 编辑

基于 IOCP 的通用异步 Windows Socket TCP 高性能服务端组件的设计与实现
摘要:设计概述 服务端通信组件的设计是一项非常严谨的工作,其中性能、伸缩性和稳定性是必须考虑的硬性质量指标,若要把组件设计为通用组件提供给多种已知或未知的上层应用使用,则设计的难度更会大大增加,通用性、可用性和灵活性必须考虑在内。 现以一个基于 IOCP 的通用异步 Windows Socket TCP 服务端组件为例子,讲述其设计与实现相关的问题,希望能引发大家的思考,对大家日后开展相关类似工作时有所帮助。关于通用性、可用性、Socket 模型选型以及接口模型的设计等问题已经在本座前段时间发表的《通用异步 Windows Socket TCP 客户端组件的设计与实现》中进行过阐述,此处就不再重.. 阅读全文

posted @ 2012-02-26 00:18 ~怪^_*兽~ 阅读(20999) 评论(87) 推荐(13) 编辑

通用 Java 文件上传和下载组件的设计与实现
摘要:概 述 文件上传和下载是 Web 应用中的一个常见功能,相信各位或多或少都曾写过这方面相关的代码。但本座看过不少人在实现上传或下载功能时总是不知不觉间与程序的业务逻辑纠缠在一起,因此,当其他地方要用到这些功能时则无可避免地 Copy / Pase,然后再进行修改。这样丑陋不堪的做法导致非常容易出错不说,更大的问题是严重浪费时间不断做重复类似的工作,这是本座绝不能容忍的。哎,人生苦短啊,浪费时间在这些重复工作身上实在是不值得,何不把这些时间省出来打几盘罗马或者踢一场球?为此,本座利用一些闲暇之时光编写了一个通用的文件上传和文件下载组件,实现方法纯粹是基于 JSP,没有太高的技术难度,总之老少咸. 阅读全文

posted @ 2012-02-23 22:26 ~怪^_*兽~ 阅读(52902) 评论(33) 推荐(16) 编辑

深度剖析:Java POJO Bean 对象与 Web Form 表单的自动装配
摘要:时下很多 Web 框架 都实现了 Form 表单域与 Java 对象属性的自动装配功能,该功能确实非常有用,试想如果没这功能则势必到处冲积着 request.getParameter() 系列方法与类型转换方法的调用。重复代码量大,容易出错,同时又不美观,影响市容。 现在的问题是,这些框架通过什么方法实现自动装配的?如果不用这些框架我们自己如何去实现呢?尤其对于那些纯 JSP/Servlet 应用,要是拥有自动装配功能该多好啊!本座深知各位之期盼,决定把自动装配的原理和实现方法娓娓道来。 实现原理其实比较简单,主要由以下3个步骤构成:通过 request.getParameterMap... 阅读全文

posted @ 2012-02-16 12:12 ~怪^_*兽~ 阅读(23253) 评论(11) 推荐(12) 编辑

通用异步 Windows Socket TCP 客户端组件的设计与实现
摘要:编写 Windows Socket TCP 客户端其实并不困难,Windows 提供了6种I/O 通信模型供大家选择。但本座看过很多客户端程序都把 Socket 通信和业务逻辑混在一起,剪不断理还乱。每个程序都 Copy / Parse 类似的代码再进行修改,实在有点情何以堪。因此本座利用一些闲暇时光写了一个基于 IOCP 的通用异步 Windows Socket TCP高性能服务端组件和一个通用异步 Windows Socket TCP 客户端组件供各位看官参详参详,希望能激发下大家的灵感。本篇文章讲述客户端组件。闲话少说,我们现在步入正题。最重要的第一个问题:如何才能达到通用? 答:... 阅读全文

posted @ 2012-02-15 01:26 ~怪^_*兽~ 阅读(14314) 评论(39) 推荐(10) 编辑

Linux 安装 MySQL / MySQL 主从备份
摘要:!! 假定所有安装包均在 /share目录,安装目录为 /opt !!$ ll /share-rw-r--r-- 1 root root 129041873 Nov 29 21:06 mysql-5.1.54-linux-i686-glibc23.tar.gz======================================================================================= 安装 MySQL ========================================================================= 阅读全文

posted @ 2012-02-14 11:31 ~怪^_*兽~ 阅读(3308) 评论(4) 推荐(3) 编辑

用 Java 实现的日志切割清理工具
摘要:对于服务器的日常维护来说,日志清理是非常重要的事情,如果残留日志过多则严重浪费磁盘空间同时影响服务的性能。如果用手工方式进行清理,会花费太多时间,并且很多时候难以满足实际要求。例如:如何在每个星期六凌晨3点把超过2G大的日志文件进行切割,保留最新的100M日志记录? 网上没有发现能满足本座要求的日志切割工具,因此花了一些闲暇时间自己写了一个。由于要在多个平台上使用,为了方便采用 Java 实现。本工具命名为 LogCutter,主要有以下特点:支持 Linux、Mac 和 Windows 等所有常见操作系统平台支持命令行交互式运行支持后台非交互式运行(Linux/MAC 下使用 daem... 阅读全文

posted @ 2012-02-12 06:40 ~怪^_*兽~ 阅读(6997) 评论(15) 推荐(3) 编辑

上一页 1 2 3 4